Commit Graph

1139 Commits

Author SHA1 Message Date
Kris Nuttycombe 8ca33e06f7
Merge pull request #5919 from nuttycom/feature/z_sendmany_tx_limit
Add -orchardactionlimit parameter to guard against memory exhaustion.
2022-05-09 08:39:09 -06:00
Kris Nuttycombe 5c1a99a288
Merge pull request #5917 from nuttycom/feature/wallet_orchard-checkpoint_depth
Select anchors at `-anchorconfirmations` depth.
2022-05-09 08:29:55 -06:00
Kris Nuttycombe a71db41d38 Add -orchardactionlimit parameter to guard against memory exhaustion.
Orchard proving can require large amounts of memory, so by default
`z_sendmany` will not attempt to create transactions containing more
than 50 Orchard inputs or outputs to reduce the risk of memory
exhaustion.  The `-orchardactionlimit` parameter allows users with
larger amounts of memory at their disposal to override this limit.

Fixes #5889
2022-05-06 22:16:13 -06:00
Kris Nuttycombe 295f7d9f7b Change default anchor depth from 10 confirmations to 3 2022-05-06 18:05:39 -06:00
Kris Nuttycombe a5f6af12b8 Update release process documentation to clarify the use of release stabilization branches. 2022-05-06 07:30:32 -06:00
Kris Nuttycombe 6b80f3ba1f Apply suggestions from code review
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-05-06 07:30:29 -06:00
Kris Nuttycombe 91ef609c1b Build releases from a commit hash, rather than a named branch.
This modifies the release script to take as its first argument
the hash of the git commit to be released. It also improves the
verification of the previous commit tag by ensuring that the tag
exists in the history of the specified commit.
2022-05-06 07:29:46 -06:00
Kris Nuttycombe 7f29c53c33 Apply suggestions from code review
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-05-05 12:29:40 -06:00
Kris Nuttycombe f285a39063
Merge pull request #5410 from LarryRuane/2021-12-06-test-python-standalone
Allow rpc python tests to be run standalone
2022-05-04 17:41:42 -06:00
Kris Nuttycombe af18ee1aba Add -anchorconfirmations to the release notes 2022-05-04 16:07:40 -06:00
Kris Nuttycombe 63e4addd9a Select Orchard anchors at `-orchardanchorconfirmations` depth.
This changes anchor selection and Orchard authentication path generation
to default to select anchors at a the depth specified by the
`-orchardanchorconfirmations` CLI argument, with a default anchor
selection depth of 10 blocks.

If the value of `minconf` used for a particular call to `z_sendmany` is
less than the the set number of Orchard anchor confirmations, `minconf`
will be used instead for the Orchard anchor confirmations depth,
so that the selected anchor will be certain to contain any notes
selected to be spent.

Fixes #5644
2022-05-04 14:16:43 -06:00
Kris Nuttycombe 37bbb9f239 Clarify documentation of the deprecation process.
Co-authored-by: str4d <thestr4d@gmail.com>
2022-05-04 11:53:54 -06:00
Kris Nuttycombe 717b253a01 Remove `-allowdeprecated=all`
We've decided to remove the option to allow all deprecated features,
because this has the effect that, if a user enables this flag, they
won't get the warning (and hence may forget to take action) at the time
that a feature is moved from the default-allowed set to the
default-denied set.

Co-authored-by: str4d <thestr4d@gmail.com>
2022-05-03 20:32:10 -06:00
Kris Nuttycombe 81b15f3eb7 Add deprecation policy to the zcashd book. 2022-04-28 15:21:16 -06:00
Kris Nuttycombe 4ea9de5ff6 Remove zcrawreceive, zcrawjoinsplit, zcrawkeygen from default-allowed deprecated methods. 2022-04-28 15:21:13 -06:00
Kris Nuttycombe d6d3be9bf2 Allow deprecated wallet features to be preemptively disabled.
This adds an `-allowdeprecated` CLI parameter whose value is a flag
indicating a deprecated feature that should be explicitly enabled.
Multiple instances of this argument may be provided. In the case that
this parameter is not provided, all currently deprecated RPC methods
that are not slated for removal in the next release remain available.
A user may disable all deprecated features entirely by providing the
string "none" as the argument to this parameter, or enable all
deprecated features, including those slated for removal, by providing
the string "all" as the argument to this parameter. In the case that
"all" or "none" is specified, multiple invocations of `-allowdeprecated`
are not permitted.

To explicitly enable only a specific set of deprecated features, use
`-allowdeprecated=<flag1> -allowdeprecated=<flagN> ...` when starting
zcashd. The following flags are recognized:

- "all" - enables all deprecated features.
- "none" - disables all deprecated features.
- "legacy_privacy" - enables the use of the deprecated "legacy" privacy
  policy for z_sendmany. This causes the default behavior to conform to
  the `FullPrivacy` directive in all cases instead of just for
  transactions involving unified addresses.
- "getnewaddress" - enables the `getnewaddress` RPC method.
- "z_getnewaddress" - enables the `z_getnewaddress` RPC method.
- "zcrawreceive" - enables the `zcrawreceive` RPC method.
- "zcrawjoinsplit" - enables the `zcrawjoinsplit` RPC method.
- "zcrawkeygen" - enables the `zcrawkeygen` RPC method.
- "addrtype" - when this option is set, the deprecated `type` attribute
  is returned in addition to `pool` or `address_type` (which contain the
  same information) in the results of RPC methods that return address metadata.
2022-04-28 15:20:05 -06:00
Larry Ruane c5752c7ea2 Allow rpc python tests to be run standalone
That is, without having to launch with test_runner.py. There are
several places where the BITCOIND environment variable determines the
executable, but the default is "bitcoind"; change the default to
"src/zcashd". This does require running the test from the top-level
directory.

Also change the environment variable from BITCOIND to ZCASHD. This could
conceivable break someone, but it just makes too much sense not to do.
2022-04-26 15:06:31 -06:00
Daira Hopwood 1b967fcae2 Change the numbering convention for hotfixes to increment the patch number, not the hyphen number.
fixes #4364

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-26 09:21:00 -06:00
Kris Nuttycombe 57d9d9ee05 Update boost dependencies to version 1.79.0 2022-04-14 13:31:14 -06:00
Kris Nuttycombe 3ee9c3accd
Merge branch 'master' into make-reindex-imply-rescan 2022-04-14 10:47:24 -06:00
Charlie O'Keefe e00a1215c0
Merge pull request #5871 from daira/clean-before-build
zcutil/build.sh: Run zcutil/clean.sh before building
2022-04-14 10:46:31 -06:00
Daira Hopwood af7d883854 Make `-reindex` and `-reindex-chainstate` imply `-rescan`
(provided that the wallet is enabled and pruning is disabled,
and unless `-rescan=0` is specified explicitly).

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-14 14:53:29 +01:00
Daira Hopwood 2807c3f1a1 zcutil/build.sh: Run zcutil/clean.sh before building.
fixes #3625

We use clean.sh rather than distclean.sh because the checksumming
and redownloading of C++ dependencies is pretty robust.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-14 14:51:49 +01:00
Daira Hopwood 265d02fa1e Fix to 4.7.0 release notes: testnet nodes that upgrade prior to height 1,842,420
actually still need to run with -reindex and -rescan.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-14 14:35:06 +01:00
Kris Nuttycombe 44d0cf0c7c make-release.py: Updated release notes and changelog for 4.7.0. 2022-04-13 22:14:59 -06:00
Kris Nuttycombe ec42f38cfc make-release.py: Updated manpages for 4.7.0. 2022-04-13 22:04:00 -06:00
Kris Nuttycombe a9e75ed10d Apply suggestions from code review
Co-authored-by: Larry Ruane <larry@z.cash>
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
Co-authored-by: Steven <57410303+steven-ecc@users.noreply.github.com>
2022-04-13 17:01:17 -06:00
Kris Nuttycombe 254122f9d2 Update the release notes to describe consensus changes since v4.6.0 2022-04-13 12:28:36 -06:00
Kris Nuttycombe 866b3c7900 Merge remote-tracking branch 'upstream/master' into nu5-consensus_merge-master 2022-04-08 21:08:39 -06:00
therealyingtong 2f51461611 Merge remote-tracking branch 'upstream/hotfix-v4.6.0-2' into master 2022-04-06 17:38:51 +08:00
Jack Grigg ebe6f8b26d Update release notes for v4.6.0-2 2022-04-04 22:08:39 +00:00
Jack Grigg f1b6e49998 make-release.py: Updated release notes and changelog for 4.6.0-2. 2022-04-04 21:53:34 +00:00
Jack Grigg 8a2c2d16b6 make-release.py: Updated manpages for 4.6.0-2. 2022-04-04 21:53:34 +00:00
Kris Nuttycombe c5c7a73a4c Note that Debian 9 has been removed from the list of supported platforms. 2022-03-29 09:41:03 -06:00
Kris Nuttycombe db315fd693 Update release notes to include all RPC changes since 4.6.0
This also corrects some minor errors in the help text for
a few of the RPC methods.
2022-03-29 09:41:03 -06:00
Kris Nuttycombe 0b8a4e1985
Merge pull request #5714 from LarryRuane/2022-03-regtest-doc
Add regtest documentation to book
2022-03-25 09:59:11 -06:00
Daira Hopwood d17c981013
Merge pull request #5738 from daira/wallet-backup-warning
zcashd-wallet-tool: warn that wallet.dat still needs to be backed up, and add man page
2022-03-24 20:29:25 +00:00
Daira Hopwood 71e48e10f3 zcashd-wallet-tool: adjust man page to correct copyright information.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-24 18:41:41 +00:00
Daira Hopwood e8fc2e60b4 zcashd-wallet-tool: add man page generation. fixes #5729
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-24 14:15:01 +00:00
Larry Ruane 747745f7a2 Add regtest documentation to book 2022-03-23 08:27:42 -06:00
Jack Grigg 1f3c145e4a make-release.py: Updated release notes and changelog for 4.7.0-rc1. 2022-03-22 21:14:02 +00:00
Jack Grigg 5ea2aaff0d make-release.py: Updated manpages for 4.7.0-rc1. 2022-03-22 21:14:02 +00:00
Kris Nuttycombe 28210791a1
Merge pull request #5693 from str4d/z_sendmany-privacy-policy
z_sendmany: Replace `allowRevealedAmount` with `privacyStrategy`
2022-03-18 08:09:43 -06:00
Jack Grigg 65cb79e023 z_sendmany: Expand `privacyPolicy` cases
We now have a full roster of privacy policies. We can graph the
relationships between the policies; arrows point from more-private to
less-private, and each policy is permitted to reveal information covered
by all policies pointing to it (in addition to the extra information it
is permitted to reveal).

                       FullPrivacy
                            v
                   AllowRevealedAmounts
                        v           v
    AllowRevealedRecipients   ---- AllowRevealedSenders
               v             /               v
     AllowFullyTransparent <-  AllowLinkingAccountAddresses
                        v       v
                        NoPrivacy

The synthetic `LegacyCompat` policy now uses the `AllowFullyTransparent`
policy for backwards compatibility, and the `FullPrivacy` policy if the
sender or recipients involve Unified Addresses.

Closes zcash/zcash#5677.
Closes zcash/zcash#5678.
2022-03-18 02:45:23 +00:00
Jack Grigg 1505121877 z_sendmany: Replace `allowRevealedAmount` with `privacyStrategy`
This replaces the bool argument with a string argument, enabling us to
add additional privacy strategies. We also alter the default to be
backwards-compatible with existing RPC method usage, by only enabling
the strongest checks if a Unified Address is involved.

Closes zcash/zcash#5676.
2022-03-18 00:58:13 +00:00
Daira Hopwood e940829313 The recovery phrase confirmation and `zcashd-wallet-tool` are being introduced in zcashd v4.7.0.
Co-authored-by: Kris Nuttycombe <kris@electriccoin.co>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-07 19:32:51 +00:00
Daira Hopwood a36fceca70 Make a zcashd-wallet-tool executable.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-07 18:39:23 +00:00
Kris Nuttycombe b1ab30c8d9 Rename sapling-specific zip32 FFI methods.
Also addresses a couple of other minor comments from code review.
2022-02-12 15:24:48 -07:00
Kris Nuttycombe d24a41496a Clarify documentation of z_getbalanceforviewingkey for Sprout viewing keys. 2022-02-09 17:03:24 -07:00
Kris Nuttycombe bf79be2b57 Replace z_getbalanceforaddress with z_getbalanceforviewingkey 2022-02-09 16:58:55 -07:00