Commit Graph

222 Commits

Author SHA1 Message Date
Kris Nuttycombe c9d6230e88 Defer z_getbalance and z_gettotalbalance disablement.
These disable-by-default changes need to be deferred until we
have a better replacement that provides a single source for
summary balance information.
2023-01-30 11:00:09 -07:00
Kris Nuttycombe aab58d308f Bound wallet batch scanner size to 1000 blocks instead of 100 MiB
1000 blocks was selected as a balance between limiting the likely
maximum memory usage of the batch scanner, and avoiding
artificially restricting scanning throughput of small/fast blocks
due to the second-boundary lock synchronization point.

This also removes the `zcashd.wallet.batchscanner.usage.bytes` gague
value that was previously made available when `-prometheusport` was
specified.

Co-authored-by: Jack Grigg <jack@z.cash>
2023-01-26 12:26:31 -07:00
Kris Nuttycombe 6d182d7ae7
Update doc/release-notes.md
Minor wording correction.

Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2023-01-23 19:15:35 -07:00
Jack Grigg 8f4fff4529 Update release notes with notable changes for v5.4.0 2023-01-24 02:13:05 +00:00
Daira Hopwood fae6cd175c Change the time that the wallet will wait for the block index to load from 5 minutes to 2 hours.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2023-01-13 00:02:03 +00:00
Jack Grigg 6affc287f7 Remove CentOS 8 as a supported platform
CentOS 8 reached EoL on December 31st 2021, and no longer satisfies our
Tier 2 platform requirements.

Part of zcash/zcash#6340.
2023-01-12 00:08:31 +00:00
Jack Grigg 0ff86213ce Deprecate old hash fields of `getblocktemplate` 2023-01-05 22:32:19 +00:00
Jack Grigg 09cd65327b Disable previously-deprecated features by default
These features were deprecated at least 3 minor releases ago. I found
one mistake which was that `z_validateaddress` had not been placed
behind the `addrtype` deprecated feature; this has been fixed.
2023-01-05 22:32:19 +00:00
Jack Grigg 37921677e9 Remove `zcraw*` RPC methods 2023-01-03 12:35:53 +00:00
Jack Grigg 2651451454 Remove `dumpwallet` RPC method
The RPC method handler is left in as a tombstone, to redirect callers to
the replacement method (as this is an upstream Bitcoin Core RPC method
that users may expect to be present).
2023-01-03 12:35:52 +00:00
Greg Pfeil 747a6b6acc Add release notes 2022-12-07 12:31:07 -07:00
Daira Hopwood 0972ffd785 make-release.py: Updated release notes and changelog for 5.3.1. 2022-12-02 02:46:42 +00:00
Daira Hopwood 1ef5372859 Update release notes: z_getnotescount already had the minconf parameter
Co-authored-by: Greg Pfeil <greg@technomadic.org>
2022-11-28 14:08:55 -07:00
Daira Hopwood 1dd4be5474 Add release notes for #6122 (`asOfHeight` RPC parameters).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-11-28 14:08:47 -07:00
Daira Hopwood aee8d5c0ec Avoid storing the Equihash solution in a CBlockIndex object once it has been written
to the leveldb database.

Co-authored-by: Jack Grigg <thestr4d@gmail.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-11-21 18:24:45 +00:00
Daira Hopwood e85dae7f12
Fix a Markdown syntax error
Co-authored-by: Greg Pfeil <greg@technomadic.org>
2022-11-10 03:05:16 +00:00
Daira Hopwood 6da5742edd Add release notes for the fix to #5958.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-11-09 15:00:24 +00:00
Greg Pfeil d557b6e5c5 make-release.py: Updated release notes and changelog for 5.3.0. 2022-10-20 10:52:37 -06:00
Jack Grigg 39401964d2 metrics: Add gauge for the height to which the wallet is synced 2022-09-25 22:14:22 +00:00
Greg Pfeil bdde47fb5d Fix finalorchardroot serialization
Previously, `finalorchardroot` and `orchard.anchor` were serialized differently
in the RPC API, which made it difficult to correlate them. This changes the
serialization for `finalorchardroot` to match `orchard.anchor`.
2022-09-22 18:20:42 -06:00
Jack Grigg f7f6c2070d wallet: Only store successful trial decryptions in batch scanner
Previously we were sending an `Option<DecryptedNote>` from each `Batch`
back to its parent `BatchRunner`. However, this requires allocating
sufficient space in the channel to handle the case where every output
can be decrypted. In general this will not be the case, and we can
instead signal "nothing decrypted" by just dropping the channel sender.
This reduces the post-batch-scanning memory usage of `BatchRunner` from
being linear in the number of on-chain outputs, to being linear in the
number of outputs for the wallet.
2022-09-21 01:27:42 +00:00
Jack Grigg 0072ea2447 wallet: Set a memory limit of 100 MiB for batch scanning 2022-09-21 01:27:42 +00:00
Jack Grigg 7bb6ff38d9 wallet: Collect metrics on the number of scanned outputs 2022-09-21 01:27:42 +00:00
Jack Grigg e88ea11055 wallet: Add dynamic memory usage tracking to `BatchScanner` 2022-09-21 01:27:42 +00:00
Sean Bowe b63dc026c7
make-release.py: Updated release notes and changelog for 5.2.0. 2022-07-25 12:42:25 -06:00
Kris Nuttycombe 9186131098 Fix incomplete release notes for witness pruning. 2022-07-22 17:14:28 -06:00
Kris Nuttycombe c6da56c216 Update release notes for v5.2.0.
This also updates the v5.1.0 release notes with a change that had
been previously missed.
2022-07-22 15:40:52 -06:00
Pieter Wuille 204d0c37ab Do not store Merkle branches in the wallet.
Assume that when a wallet transaction has a valid block hash and transaction position
in it, the transaction is actually there. We're already trusting wallet data in a
much more fundamental way anyway.

To prevent backward compatibility issues, a new record is used for storing the
block locator in the wallet. Old wallets will see a wallet file synchronized up
to the genesis block, and rescan automatically.

(cherry picked from commit bitcoin/bitcoin@391dff16fe)
2022-07-08 21:03:40 +00:00
Jack Grigg 4d7ce75ef1 make-release.py: Updated release notes and changelog for 5.1.0. 2022-07-08 03:01:54 +00:00
Jack Grigg c1b40ec2a8 Add missing release note entries for 5.1.0 2022-07-08 02:47:34 +00:00
Jack Grigg 5230c9f2f4 miner: Disable proof and signature checks in CreateNewBlock
The only source of transactions for `CreateNewBlock` is the mempool, and
every transaction added to the mempool goes through `AcceptToMemoryPool`
which checks proofs and signatures.

We maintain the ability to enable these checks in `TestBlockValidity`
because it is also used in an (undocumented) `getblocktemplate` mode to
check a proposed block (minus PoW), where we cannot assume the
transactions are valid.

Co-authored-by: Kris Nuttycombe <kris@nutty.land>
2022-07-06 19:38:15 +00:00
Jack Grigg cb5a4acca9 Update release notes 2022-07-05 21:36:45 +00:00
Kris Nuttycombe 59cabff22d Deprecate the `vjoinsplit` field of `gettransaction` results.
Author: Kris Nuttycombe <kris@nutty.land>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-07-01 15:47:16 +01:00
Kris Nuttycombe f3a9dcc0cf Mark the `dumpwallet` RPC method as disabled.
Fixes #5513
2022-05-26 14:31:26 -06:00
Kris Nuttycombe 9691d86047 Add a CLI flag to preferentially send V4 tx.
Since the wallet ecosystem may not be fully updated to handle
v5 transaction parsing at the point of NU5 activation, some
nodes may prefer to construct V4 transactions when not including
Orchard transaction components.

This change adds a CLI flag that allows node users to specify
that preference.
2022-05-26 07:26:38 -06:00
Kris Nuttycombe 10fb705f45 make-release.py: Updated release notes and changelog for 5.0.0. 2022-05-10 19:52:28 -06:00
Kris Nuttycombe 721e5d85ab Deprecate `getrawchangeaddress` and `z_listaddresses` 2022-05-10 16:23:15 -06:00
Kris Nuttycombe c6ceeb1646
Merge pull request #5934 from nuttycom/fix/release-notes-typos
Fix typos in release notes & Orchard wallet internal API doc.
2022-05-09 12:52:35 -06:00
Kris Nuttycombe 7defcb8341
Merge pull request #5926 from nuttycom/deprecation/z_getbalance
Add z_get(total)balance to deprecation flags.
2022-05-09 12:52:16 -06:00
Kris Nuttycombe f41ccaf244 Fix typos in release notes & Orchard wallet internal API doc. 2022-05-09 09:30:02 -06:00
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 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 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