Commit Graph

16750 Commits

Author SHA1 Message Date
Kris Nuttycombe 20614fdaf8 Add -orchardactionlimit help text. 2022-05-07 20:48:41 -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 c920077a46 Use default anchor confirmations for minconf in z_mergetoaddress.
z_mergetoaddress doesn't currently have any mechanism for specifying
the minconf value. We don't want to default back to a minconf of 1,
as before, because we'll be selecting anchors with at least 3
confirmations by default, so the simplest change here is to make
the minconf value default to the number of anchor confirmations, and
add a configurable minconf at some point in the future. It's likely
that `z_mergetoaddress` will end up being deprecated in any case,
so this works for now.

Also, ensure that anywhere that we're attempting to obtain the Orchard
anchor that we don't attempt to get an anchor from a height below NU5
activation.
2022-05-06 22:15:20 -06:00
Kris Nuttycombe 295f7d9f7b Change default anchor depth from 10 confirmations to 3 2022-05-06 18:05:39 -06:00
Charlie O'Keefe c9eb25c9ee
Merge pull request #5930 from defuse/2022-05-rpc-assertion-failure
Test an assertion failure in the listaddresses RPC
2022-05-06 16:06:58 -06:00
Kris Nuttycombe 66fad22873 Fix missing handling for imported transparent multisig addresses. 2022-05-06 13:29:05 -06:00
Taylor Hornby b900c4827b Reproduce an assertion failure in the listaddresses RPC 2022-05-06 11:59:28 -06:00
Charlie O'Keefe 9227cfb5cb
Merge pull request #5883 from nuttycom/util/release_from_commit_hash
Build releases from a commit hash, rather than a named branch.
2022-05-06 09:37:29 -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 038decbc08 Ensure transaction integer fields are zero-initialized. 2022-05-05 13:24:42 -06:00
Kris Nuttycombe 954e2b4aa6 Add parity-scale-codec licenses to contrib/debian/copyright 2022-05-05 13:06:56 -06:00
Kris Nuttycombe 99e41f36c1 Gracefully handle Get(Sprout/Sapling)NoteWitnesses failure. 2022-05-05 12:29:40 -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 0c59fd9a20 Add z_get(total)balance to deprecation flags. 2022-05-05 07:53:29 -06:00
Kris Nuttycombe fefea8fe29 Fix RPC tests that depend upon -anchorconfirmations=1 2022-05-04 18:00:34 -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 1b387b7459 Disallow -anchorconfirmations values > 100 2022-05-04 16:07:40 -06:00
Charlie O'Keefe 92d2a87053
Merge pull request #5905 from nuttycom/feature/disable_legacy_privacy_strategy
Allow deprecated wallet features to be preemptively disabled.
2022-05-04 16:05:45 -06:00
Kris Nuttycombe 90fc0eaa43 Add anchor depth parameter to Get*NoteWitnesses 2022-05-04 16:04:21 -06:00
Daira Hopwood 50a8a8745a Fix WalletTests.CachedWitnessesEmptyChain for new anchor selection.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-05-04 16:04:21 -06:00
Daira Hopwood c2dedb641e Select an anchor and notes that have 10 confirmations.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-05-04 16:04:21 -06:00
Daira Hopwood f20be2cff7 Rename nOrchardAnchorConfirmations -> nAnchorConfirmations 2022-05-04 16:04:21 -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 b7d6120b20
Merge pull request #5924 from steven-ecc/5893-enforce-recovery-phrase-backup
Require wallet recovery phrase to be backed up for z_getnewaccount an…
2022-05-03 21:13:35 -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 c5493c168b
Merge pull request #5923 from nuttycom/logging/error_log_anchor_mismatch
Use ERROR level logging for fatal errors in main/init
2022-05-03 19:25:05 -06:00
Steven Smith 3965eb77f4 Require wallet recovery phrase to be backed up for z_getnewaccount and z_getaddressforaccount 2022-05-03 18:21:16 -07:00
Kris Nuttycombe d80935a8fd Use ERROR level logging for fatal errors in main/init
Fixes #5922
2022-05-03 16:12:19 -06:00
Kris Nuttycombe ef547b03a1
Merge pull request #5920 from steven-ecc/5880-add-missing-orchard-pool-metrics
Add orchard pool metrics
2022-05-02 20:03:04 -06:00
Steven Smith 85889bb99c Add orchard pool metrics 2022-05-02 16:02:56 -07:00
Kris Nuttycombe 374fd2f803
Merge pull request #5918 from LarryRuane/2022-05-reindex-fix
ThreadStartWalletNotifier: wait until !IBD, rather than !reindex
2022-05-02 16:57:30 -06:00
Larry Ruane ed988b55a3 ThreadStartWalletNotifier: wait until !IBD, rather than !reindex
The -reindex option causes the node to first read the block files,
adding each block to the block index, then reset the reindexing flag,
then build the best chain (the "UpdateTip: new best" logging messages).
Before the wallet notification thread begins to actually do
notifications, it should wait until we're no longer in initial block
download, rather than waiting until the reindexing flag is reset (which
is too early).
2022-05-02 13:26:06 -06:00
Kris Nuttycombe d6db09a180
Merge pull request #5916 from upbqdn/block-time-in-gettreestate
Specify the format and epoch for the block time in `z_gettreestate` RPC docs
2022-04-29 10:49:09 -06:00
Marek c7851519e8 Specify the format and epoch 2022-04-28 23:55:32 +02: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
Kris Nuttycombe 716091e30d
Merge pull request #5915 from str4d/5899-testnet-nu5-checkpoint
Update minimum chain work and set NU5 activation block hash for testnet
2022-04-28 11:45:57 -06:00
Jack Grigg 1a97f77205 Update minimum chain work and set NU5 activation block hash for testnet
The chain work is taken from testnet block 1855000.

Closes zcash/zcash#5899.
2022-04-28 14:27:10 +00:00
Kris Nuttycombe 2b9df3775b
Merge pull request #5914 from upbqdn/block-time-in-gettreestate
Document the block time in the `z_gettreestate` RPC response
2022-04-28 07:13:37 -06:00
Marek 768bfd8d27 Document the block time in the `z_gettreestate` RPC response 2022-04-27 22:34:09 +02:00
Taylor Hornby f81054e86e
Merge pull request #5664 from superbaud/btests-to-gtests
Port all multithreaded tests from btest to gtest
2022-04-27 13:23:05 -06:00
sasha a50b977fd4 Remove -developersapling since it hasn't been implemented for a long time
No experimental features are enabled in this test so it's therefore OK
to remove -experimentalfeatures
2022-04-27 10:53:37 -07:00
sasha 5cd4fe969b
Tidy up spacing in newly-ported gtests
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-04-27 10:47:49 -07:00
sasha 6161173f49
Update comments in newly-ported gtests to be more consistent with current codebase
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-04-27 10:45:37 -07:00
sasha 90b835e01f
Update copyright header
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-04-27 10:43:22 -07:00