Commit Graph

16432 Commits

Author SHA1 Message Date
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
sasha bd05733e6d Port anchors_test to gtest suite CoinsTests 2022-04-26 15:35:22 -07:00
sasha c055777839 Port anchors_flush_test to gtest suite CoinsTests 2022-04-26 15:35:22 -07:00
sasha b558046cd3 Port nullifiers_test to gtest suite CoinsTests 2022-04-26 15:35:22 -07:00
sasha 7a3dcff444 Port anchor_regression_test to gtest suite CoinsTests 2022-04-26 15:35:22 -07:00
sasha 8fa95217f6 Port anchor_pop_regression_test to gtest suite CoinsTests 2022-04-26 15:26:16 -07:00
sasha 6cd441accf Port nullifier_regression_test to gtest suite CoinsTests 2022-04-26 15:26:10 -07:00
sasha d04f86b030 Port CCoinsViewTest to gtest suite CoinsTests 2022-04-26 15:26:05 -07:00
sasha 313dec27dd Create a new gtest suite CoinsTests 2022-04-26 15:25:58 -07:00
sasha e861389adc Make [seed_]insecure_rand available to the gtests 2022-04-26 15:25:27 -07:00
sasha fbd6564152 Downgrade btest suite coins_test to BasicTestingSetup 2022-04-26 15:25:00 -07:00
sasha 6099daf8cd Port btest rpc_z_sendmany_taddr_to_sapling to gtest suite WalletRPCTests 2022-04-26 15:24:46 -07:00
sasha 6daecd9f78 Port btest rpc_z_mergetoaddress_internals to gtest suite WalletRPCTests 2022-04-26 15:24:39 -07:00
sasha fccc66d844 Port btest rpc_z_shieldcoinbase_internals to gtest suite WalletRPCTests 2022-04-26 15:24:34 -07:00
sasha 996e6dde9e Create a new gtest group WalletRPCTests 2022-04-26 15:24:20 -07:00
sasha 84197d858f Port btest test_basic_joinsplit_verification to gtest suite Joinsplit
Also, we downgrade transaction_tests to BasicTestingSetup since there's
no proofs here any more
2022-04-26 15:24:20 -07:00
sasha 42c5feaabd
Merge pull request #5908 from charlieok/use_bullseye_apt_source_in_dockerfile
Use bullseye apt source in Dockerfile to match debian:11 base image; merging as requested by @nuttycom
2022-04-26 14:09:04 -07: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
Marshall Gaucher 230ae805af
Merge pull request #5690 from superbaud/parallel-btests
run btests in parallel
2022-04-26 12:49:19 -07:00