Commit Graph

14626 Commits

Author SHA1 Message Date
Alfredo Garcia ab55776189 hide password in -stdin `walletpassphrase` command 2021-01-12 17:09:20 +00:00
Homu e528caf7fb Auto merge of #4937 - centromere:freebsd, r=daira
Add support for FreeBSD 12

The pre-built binaries for clang 8 on FreeBSD do not ship with `libc++api`, so `libcxxrt` from the base system is used instead.

Please ensure this checklist is followed for any pull requests for this repo. This checklist must be checked by both the PR creator and by anyone who reviews the PR.
* [ ] Relevant documentation for this PR has to be completed and reviewed by @mdr0id before the PR can be merged
* [ ] A test plan for the PR must be documented in the PR notes and included in the test plan for the next regular release

As a note, all buildbot tests need to be passing and all appropriate code reviews need to be done before this PR can be merged
2021-01-09 16:24:10 +00:00
Homu 8c000ae281 Auto merge of #4944 - nuttycom:ibd_skip_tx_messages, r=str4d
Skip "tx" messages during initial block download.

We avoid requesting these messages by not request non-block inventory during IBD.
This is equivalent to https://github.com/bitcoin/bitcoin/pull/7164, but we also
ignore unsolicited `tx` messages (which `zcashd` nodes will never send).

Fixes #4943.
2021-01-06 21:47:29 +00:00
Alex Wied 2e36d4208c
Use parentheses for defined in windows-unused-variables.diff
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-01-05 22:16:20 -05:00
Homu feadf83de9 Auto merge of #4942 - str4d:rust-1.49, r=str4d
depends: Update Rust to 1.49.0

Also updates our `Cargo.lock`.
2021-01-06 00:09:41 +00:00
Alex Wied a0c1ba16db Set rust_target for all FreeBSD versions 2021-01-05 17:28:24 -05:00
Homu 5094a8b634 Auto merge of #4924 - daira:update-updatecheck, r=str4d
qa/zcash/updatecheck.py: remove dead code; print instructions to run `cargo outdated` and `cargo update`

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-05 19:58:34 +00:00
Kris Nuttycombe 0bc90167fc Skip "tx" messages during initial block download.
Fixes #4943
2021-01-05 10:36:18 -07:00
Homu cea97a7139 Auto merge of #4938 - sandakersmann:master, r=str4d
Update of copyright year to 2021

Update of copyright year to 2021
2021-01-05 11:47:07 +00:00
Homu 1614f1ebd0 Auto merge of #4913 - str4d:zcashconsensus-fixes, r=nuttycom
Reduce the dependencies of libzcashconsensus

This is the first of two PRs that rework the `libzcashconsensus` library
into `libzcash_script`, and enable it to be wrapped by the `zcash_script`
crate:

https://github.com/ZcashFoundation/zcash_script

Includes code cherry-picked from bitcoin/bitcoin#12998.
2021-01-04 23:52:59 +00:00
Jack Grigg 674fc8eb63 depends: cargo update 2021-01-04 16:41:06 +00:00
Jack Grigg 79f531c485 rust: Use renamed broken_intra_doc_links lint 2021-01-04 16:40:18 +00:00
Jack Grigg 070d4720eb depends: Update Rust to 1.49.0 2021-01-04 16:31:11 +00:00
Marius Kjærstad ae4ad8fc4b
Update of copyright year to 2021 2021-01-01 04:14:18 +01:00
Marius Kjærstad 4660e85dde
Update COPYRIGHT_YEAR in clientversion.h to 2021 2021-01-01 04:11:02 +01:00
Marius Kjærstad 61955934be
Update _COPYRIGHT_YEAR in configure.ac to 2021 2021-01-01 04:07:45 +01:00
Alex Wied eadc3d48f2 Add support for FreeBSD 12 2020-12-30 19:50:25 -05:00
Homu c07007ffca Auto merge of #4931 - rex4539:discord-invite, r=daira
Discord invite instead of direct link

I posted the [direct link ](https://discordapp.com/channels/669694001464737815/671029188353851393/) to some folks and they said they couldn't join as it was a private channel.

So a user needs to first receive an invite before they can join.
2020-12-29 00:36:30 +00:00
Dimitris Apostolou 74bd17fb2e
Discord invite instead of direct link 2020-12-24 14:46:36 +02:00
Homu b812c3ad9d Auto merge of #4928 - nuttycom:release-v4.2.0, r=daira
Release v4.2.0

Notable changes
===============

Switch to ed25519-zebra for consensus signature checks
------------------------------------------------------
This removes the zcashd dependency upon libsodium for ed25519
signature checks and instead uses the Rust implementation in
ed25519-zebra, which has been active for signature verification
since the Canopy upgrade. For more information on the conditions
that led to this change see https://hdevalence.ca/blog/2020-10-04-its-25519am

Update default fees according to ZIP-313
----------------------------------------
Reduce default fees to 0.00001 ZEC as specified in ZIP-313 and
ensure that transactions paying at least the new minimum fee meet
the transaction relay threshold irrespective of transaction size.

Improve getblocktemplate rpc performance when using shielded coinbase
---------------------------------------------------------------------
This change precomputes future block templates to permit miners to
begin working atop newly arrived blocks as quickly as possible, rather
than waiting for a new template to be generated after a block has arrived.
It also reduces the initial the wait time for incorporating new mempool
transactions into a block from 1 minute to 10 seconds; the previous value
was inherited from the upstream bitcoin codebase but is inappropriate for
our block timing.

Migrate from rpc-tests.sh to rpc-tests.py
-----------------------------------------
This unifies and simplifies the RPC testing framework, as has
been done in the upstream Bitcoin codebase.
2020-12-21 20:08:33 +00:00
Kris Nuttycombe 993feb59f8 make-release.py: Updated release notes and changelog for 4.2.0. 2020-12-21 12:58:15 -07:00
Kris Nuttycombe a6eb9fc7d0 make-release.py: Updated manpages for 4.2.0. 2020-12-21 12:55:52 -07:00
Kris Nuttycombe c75e663c2a make-release.py: Versioning changes for 4.2.0. 2020-12-21 12:43:00 -07:00
Homu f63bfc5a2a Auto merge of #4927 - daira:mempool-limit-test-fix, r=daira
gtest/test_mempoollimit: the test failed to properly ensure that the "low fee penalty" threshold matches the new ZIP 313 fee

The test passed, and the code under test was correct; nevertheless the test was not testing the right thing. refs #4916

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-12-21 17:55:06 +00:00
Daira Hopwood 66fe7a3782 Revert changes in #4916 that assumed arguments represent fees, when they are actually number of confirmations.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-12-21 16:08:58 +00:00
Jack Grigg 2c17d1e274 Store inputs and outputs by reference in JSDescriptionInfo
When creating randomized JoinSplits, the caller passes in references to
arrays in which the mapping from original to randomised position is
stored. However, in the old JSDescription constructors, the caller also
passed the inputs and outputs themselves by reference, and those arrays
were also randomised. The JSDescriptionInfo constructor was instead
taking these by value, meaning that its internal copies were being
randomised, but not the caller's arrays. This caused the Sprout payment
disclosure logic to (with 1/2 probability) store the incorrect output
in a payment disclosure key.

This commit restores the previous behaviour, by storing references to
the input and output arrays in JSDescriptionInfo instead of copying them.
2020-12-21 02:18:35 +00:00
Jack Grigg 6c280abfac Remove init_and_check_sodium from crypto/common.h
This removes the last implicit dependency on libsodium from
libzcashconsensus.

As of zcash/zcash#4893 we no longer depend on libsodium for Ed25519
signature verification.
2020-12-20 22:42:22 +00:00
Jack Grigg c4ea423827 prevector: Terminate without logging on failed allocation
This reverts aeb089ecc7, which introduced
logging, adding a dependency on libbitcoin_util.a to libzcashconsensus.a.

Also adds missing #includes that were being indirectly included via
prevector.h including util.h.
2020-12-20 22:42:22 +00:00
Jack Grigg 79ad5984b1 Remove JSDescription::h_sig
This removes the zcash/JoinSplit.hpp dependency from
primitives/transaction.cpp, and thus from libzcashconsensus.
2020-12-20 22:42:22 +00:00
Jack Grigg b1aa9365af Add JSDescriptionInfo for constructing JSDescriptions
This matches the existing transaction builder structs:
- SpendDescriptionInfo
- OutputDescriptionInfo
- TransparentInputInfo

It also removes the dependency of the transaction format on the proving
system.
2020-12-20 22:42:22 +00:00
Matt Corallo 726c5c8b19 Default to defining endian-conversion DECLs in compat w/o config
While this isn't a supported build configuration, some build
systems need to build without going through our autotools steps,
so defaulting to something sane may make it easier to build.

Specifically, this fixes the inability to build
rust-bitcoinconsensus on some non-x86 platforms. It needs to build
without our autotools/configure steps to ensure correct compile
args are passed from the rust build system to gcc. Converting the
args from the rust build system to gcc would be a lot of
unmaintainable work.
2020-12-20 22:42:22 +00:00
Daira Hopwood 9bfcba933a gtest/test_mempoollimit: the test failed to properly ensure that the "low fee penalty" threshold matches the new ZIP 313 fee.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-12-20 17:57:09 +00:00
Homu 651e7fbfb5 Auto merge of #4923 - nuttycom:release-v4.2.0-rc1, r=nuttycom
Release v4.2.0 rc1

Notable changes
===============

Switch to ed25519-zebra for consensus signature checks
------------------------------------------------------
This removes the zcashd dependency upon libsodium for ed25519
signature checks and instead uses the Rust implementation in
ed25519-zebra, which has been active for signature verification
since the Canopy upgrade. For more information on the conditions
that led to this change see https://hdevalence.ca/blog/2020-10-04-its-25519am

Update default fees according to ZIP-313
----------------------------------------
Reduce default fees to 0.00001 ZEC as specified in ZIP-313 and
ensure that transactions paying at least the new minimum fee meet
the transaction relay threshold irrespective of transaction size.

Improve getblocktemplate rpc performance when using shielded coinbase
---------------------------------------------------------------------
This change precomputes future block templates to permit miners to
begin working atop newly arrived blocks as quickly as possible, rather
than waiting for a new template to be generated after a block has arrived.
It also reduces the initial the wait time for incorporating new mempool
transactions into a block from 1 minute to 10 seconds; the previous value
was inherited from the upstream bitcoin codebase but is inappropriate for
our block timing.

Migrate from rpc-tests.sh to rpc-tests.py
-----------------------------------------
This unifies and simplifies the RPC testing framework, as has
been done in the upstream Bitcoin codebase.
2020-12-19 19:01:05 +00:00
Daira Hopwood 86aa5d3873 qa/zcash/updatecheck.py: remove dead code; print instructions to run `cargo outdated` and `cargo update`.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-12-19 17:20:26 +00:00
Kris Nuttycombe a0dd3e3ce5 make-release.py: Updated release notes and changelog for 4.2.0-rc1. 2020-12-19 09:56:36 -07:00
Kris Nuttycombe 0b5b6d5186 make-release.py: Updated manpages for 4.2.0-rc1. 2020-12-19 09:53:28 -07:00
Kris Nuttycombe f8bb085d85 make-release.py: Versioning changes for 4.2.0-rc1. 2020-12-19 09:45:41 -07:00
Homu 6fbf180b34 Auto merge of #4921 - nuttycom:fix_stdout_logging, r=str4d
Don't log to stdout if a file logger is configured.

This fixes an error introduced by 5dce316f10
2020-12-19 11:40:05 +00:00
Kris Nuttycombe 8cdac686eb Don't log to stdout if a file logger is configured.
This fixes an error introduced in 5dce316.
2020-12-18 22:20:04 -07:00
Homu c854ff7747 Auto merge of #4919 - rex4539:old-boost, r=daira
Remove workaround affecting old Boost version

Closes https://github.com/zcash/zcash/issues/4914.
2020-12-19 01:20:41 +00:00
Homu 2c0f6df168 Auto merge of #4916 - daira:reduce-fee, r=nuttycom
Reduce default fee to 1000 zatoshis

Per ZIP 313. This also ensures that transactions that pay the default fee will always be relayed, and not rate-limited.
2020-12-19 00:02:44 +00:00
Dimitris Apostolou c2c69a12e4
Remove workaround affecting old Boost version 2020-12-19 00:30:02 +02:00
Homu 6771bef6d5 Auto merge of #4918 - str4d:update-deps, r=daira
Update dependencies for 4.2.0

Includes some simplifications to the `tracing` configuration logic, now that we pin the correct dependency version.
2020-12-18 21:59:20 +00:00
Daira Hopwood e6a44ff833 Always allow transactions paying at least DEFAULT_FEE to be relayed, and do not rate-limit them.
In other words, make sure that the "minimum relay fee" is no greater than DEFAULT_FEE.

The intention is that this will allow setting the fee to DEFAULT_FEE for *all* transactions
(including transparent ones) in a future release, and be more compatible with other wallets
that already do so, per ZIP 313. refs #2942

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-12-18 21:19:23 +00:00
Kris Nuttycombe 8f4dd4460b Update boost to 1.75, postpone other updates.
This removes the paches iostreams-106.patch and signals2-noise.patch
which have been incorporated into boost 1.75. Also, this further
postpones updates to native_clank, libcxx and native_ccache.
2020-12-18 14:13:42 -07:00
Jack Grigg 5dce316f10 tracing: Simplify init logic using optional layers
The layer creation itself looks a bit more complex, but this is due to
how altering the presence of timestamps changes the type signature of the
formatter. The main improvements are that we now only initialise the
registry in a single location, and the log filter reload handle has a
single type signature (whereas previously its type signature depended on
the configuration).

Requires a minimum of tracing-subscriber 0.2.12, which added this feature.

Part of zcash/zcash#4668.
2020-12-18 19:42:09 +00:00
Jack Grigg c97665f397 tracing: Remove unnecessary tracing_init_inner internal function
This became unnecessary in 25d2e6e3c3.
2020-12-18 19:42:09 +00:00
Jack Grigg bdf44b1cf8 cargo update 2020-12-18 19:42:07 +00:00
Daira Hopwood 5e84362702 Reduce the default fee for z_* operations, and the "low fee penalty" threshold for mempool limiting, to 1000 zatoshis.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-12-18 12:37:03 -07:00
Homu 844ef48b45 Auto merge of #4912 - daira:daira-partial-revert-4904, r=daira
Partial revert of "Update links"

This partially reverts commit f459e43dc9. See #4904.

In summary, the rationale is that:
* Some of the changed files are from subtrees, which should be updated upstream.
* The licensing of four of the files under `build-aux/m4` is complicated and so changes to them should have required review with that in mind: 5b97cd27f8/COPYING (L38-L44)
* The changes to `contrib/debian/copyright` must also be reverted because those are in copies of specific versioned licenses.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-12-17 18:28:32 +00:00