Commit Graph

16750 Commits

Author SHA1 Message Date
Kris Nuttycombe f98b2393a1 Fix error in z_listaccounts help text. 2022-04-08 13:06:41 -06:00
str4d a638e938bd
Merge pull request #5823 from str4d/add-orchard-wallet-tracing
Add trace-level logging to the Orchard wallet
2022-04-08 18:47:06 +01:00
Alfredo Garcia a4f563f2ab change error message 2022-04-08 13:24:11 -03:00
Jack Grigg 70167dd2aa rpc: Document that enabling trace-level logging is unsafe 2022-04-08 15:48:02 +00:00
Jack Grigg a06406d087 wallet: Bump a trace log message to error in `Wallet::checkpoint`
If we hit this error, the node is going to end up with an assertion
failure, so there's no verbosity harm in logging here.
2022-04-08 15:43:44 +00:00
Kris Nuttycombe 1fb153a333 Apply suggestions from code review
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2022-04-08 15:41:34 +00:00
Kris Nuttycombe a4aba7cb91
Merge pull request #5830 from therealyingtong/orchard-z_listreceivedbyaddress
Support Orchard addresses in `z_listreceivedbyaddress`
2022-04-08 07:55:10 -06:00
Kris Nuttycombe c342e7d712
Merge pull request #5847 from nuttycom/bug/wallet_bestchain_init
Fix assertion in wallet initialization when wallet best block is ahead of the main chain.
2022-04-08 07:48:19 -06:00
therealyingtong 0da6bcef72 Check for overflow in IncrementAccountCounter(). 2022-04-08 14:27:51 +08:00
Kris Nuttycombe f553ae3320 Apply suggestions from code review
Co-authored-by: str4d <thestr4d@gmail.com>
Co-authored-by: ying tong <yingtong@z.cash>
2022-04-07 23:05:05 -06:00
str4d 0c32c988fc
Merge pull request #5834 from nuttycom/bug/sendmany_privacy_policy_violations
Fix privacy policy violations when sending between unified addresses.
2022-04-08 04:00:31 +01:00
str4d 5f60f33daf
Merge pull request #5832 from therealyingtong/miner-latest-height
Use height of latest network upgrade in -mineraddress validation.
2022-04-08 03:01:20 +01:00
str4d 175dc4bc4a
Merge pull request #5841 from str4d/lint-cargo-patches
Add lints for Cargo patches
2022-04-08 02:01:02 +01:00
Kris Nuttycombe 773c2b515a Fix assertion in wallet initialization when wallet best block is ahead of the main chain.
In #5809, we attempted to fix the assumption that on startup, the
wallet's best chain was at the same position as the node's chain tip.
This did not account for a condition where the node's block index
might not contain the block corresponding to the wallet's best chain,
because the node had crashed before the block index containing that
block could be written to disk.

This commit adds handling so that the `ThreadNotifyWallets` thread
will not start until the wallet's best block has been restored
to the node's block index and we're able to obtain a pointer to
that state.
2022-04-07 17:23:13 -06:00
Kris Nuttycombe cb64997216 Never consider transactions that pay the default fee to be free. 2022-04-07 13:51:08 -06:00
str4d 2c13a41334
Merge pull request #5844 from str4d/postpone-rust-1.60
qa: Postpone update to Rust 1.60
2022-04-07 17:31:04 +01:00
Jack Grigg c4006a7f24 qa: Postpone update to Rust 1.60
Rust 1.60 migrates to LLVM 14, and we want to keep our Clang and Rust
compilers on matching LLVM versions.
2022-04-07 15:01:26 +00:00
Kris Nuttycombe 369fc78e0b Use DEFAULT_FEE consistently in wallet_unified_change test
This fixes a nondeterministic error where zero-fee transactions
may be excluded due to minimum-block-size rules.
2022-04-07 08:57:48 -06:00
Kris Nuttycombe 14f06f9f06 Return MAX_PRIORITY when transactions contain an Orchard bundle. 2022-04-07 08:47:47 -06:00
Kris Nuttycombe dada8b38bc Add 'AllowRevealedAmounts' in tests where it is now necessary. 2022-04-07 08:47:47 -06:00
Kris Nuttycombe 51defe9f96 Make all privacy policy checks after note selection.
This adds tests to wallet_z_sendmany that demonstrates conditions
where pool-crossing transfers were not being caught by the privacy
policy checks, which were validating only against the transfer
request rather than the actual transfer selected. This missed
cases where sending funds between unified addresses would reveal
amounts via the turnstile.

Making all privacy policy checks after note selection guards against
this error.
2022-04-07 08:47:47 -06:00
therealyingtong 63c83ad5df Fix >= bound when iterating over network upgrades. 2022-04-07 20:03:46 +08:00
therealyingtong 1ab4da3f2c Use height of latest network upgrade in -mineraddress validation.
Co-authored-by: Jack Grigg <jack@electriccoin.co>
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-04-07 18:49:44 +08:00
therealyingtong dcc2a68682 Inline z_listaccounts check in wallet_accounts.py 2022-04-07 18:06:41 +08:00
therealyingtong 6af03626de Add z_listaccounts RPC.
Co-authored-by: Kris Nuttycombe <kris.nuttycombe@gmail.com>
2022-04-07 17:28:51 +08:00
str4d a86220ee62
Merge pull request #5835 from nuttycom/dep/update_secp256k1
Update to orchard-0.1.0-beta.3, incrementalmerkletree 0.3.0-beta.2, secp256k1-0.21
2022-04-07 03:21:11 +01:00
Jack Grigg b2b178bd21 lint: Add check that every Cargo patch has a matching replacement
We canonicalize git URLs when linting Cargo patches, because Cargo
treats `path/to/repo` and `path/to/repo.git` identically (and similarly
it strips a trailing slash), so we allow `.cargo/config.offline` and
`Cargo.toml` to mismatch in this way to minimise lints.
2022-04-07 02:14:52 +00:00
Kris Nuttycombe 63d13a437f Update to orchard-0.1.0-beta.3, incrementalmerkletree 0.3.0-beta.2, secp256k1-0.21 2022-04-06 17:48:49 -06:00
Kris Nuttycombe cc892fd48d
Merge pull request #5824 from nuttycom/bug/change_reveals_amounts
Fix condition where change outputs could violate z_sendmany privacy policy.
2022-04-06 14:57:08 -06:00
Kris Nuttycombe 834162a25e
Merge pull request #5833 from therealyingtong/fix-orchard-z_listunspent
Correctly derive UAs for unknown Orchard receivers.
2022-04-06 14:54:25 -06:00
str4d 8750178432
Merge pull request #5828 from zcash/docker_remove_stretch_for_buster
Update Dockerfile
2022-04-06 21:52:12 +01:00
therealyingtong 896ae6315b Correctly derive UAs for unknown Orchard receivers.
The previous code assumed that we would only see wallet addresses
that we had explicitly generated, and crashed if we detected a note
sent to a different Orchard receiver within a known account.

Fixes zcash/zcash#5827.

Co-authored-by: Jack Grigg <jack@electriccoin.co>
2022-04-06 23:42:51 +08:00
therealyingtong da5575a02d IsNoteSaplingChange: Inline internal recipient check.
This fixes the usage of IsNoteSaplingChange in z_listreceivedbyaddress.

Co-authored-by: Jack Grigg <jack@electriccoin.co>
2022-04-06 23:28:55 +08:00
Marshall Gaucher b06a3096d8
Merge pull request #5829 from zcash/merge-hotfix-v4.6.0-2
Merge hotfix-v4.6.0-2
2022-04-06 07:12:39 -07:00
therealyingtong 37c5bca411 Introduce push_orchard_result in z_listreceivedbyaddress. 2022-04-06 20:39:15 +08:00
therealyingtong 8a7283ca83 Introduce CWallet::HaveOrchardSpendingKeyForAddress. 2022-04-06 20:34:38 +08:00
therealyingtong 2f51461611 Merge remote-tracking branch 'upstream/hotfix-v4.6.0-2' into master 2022-04-06 17:38:51 +08:00
Kris Nuttycombe e6d498e9c9 Check privacy strategy when setting allowed change types. 2022-04-05 20:47:37 -06:00
Kris Nuttycombe a48aa0195c Add logging to the miner to provide more detail on tx selection. 2022-04-05 20:47:37 -06:00
Kris Nuttycombe 1d2f1d6689 Add a test demonstrating that change may cross the pool boundary without permission. 2022-04-05 18:16:57 -06:00
Marshall Gaucher c15fd4db9c
Update Dockerfile
Per discussion of Debian 9 (stretch) support
2022-04-05 16:55:42 -07:00
Jack Grigg 484edf2cdb wallet: Remove duplicate nullifier insertion into Orchard wallet
We have the same insertion a few lines earlier.
2022-04-05 18:22:36 +00:00
Jack Grigg b3b5429956 wallet: Add assertions during Orchard wallet bundle appends
`Wallet::append_bundle_commitments` should never be called twice on the
same bundle, as that breaks sequentiality requirements (which we already
check for), so it is safe to assert that the inserted values do not
overwrite any existing data.
2022-04-05 18:19:20 +00:00
Jack Grigg 838f1cccec Add trace-level logging to the Orchard wallet
This can be enabled with `zcash-cli setlogfilter trace` (or a more
specific filter to target just the Orchard wallet trace lines).
2022-04-05 18:18:49 +00:00
str4d 33c813c7a1
Merge pull request #5773 from daira/gitignore-tempfiles
.gitignore: add files temporarily created by autoconf
2022-04-05 14:57:35 +01:00
str4d 9e80e4aff6
Merge pull request #5819 from ebfull/fix-rescans
Fix logic for deciding whether to perform Orchard updates during rescan
2022-04-05 14:53:17 +01:00
Kris Nuttycombe 53a302cf3f
Merge pull request #5789 from nuttycom/bug/wallet_init_post_nu5
Fix a bug in initialization of the Orchard wallet after NU5 activation.
2022-04-04 20:06:34 -06:00
Kris Nuttycombe 98c848fd20
Merge pull request #5809 from str4d/5805-fix-thread-notify-wallets-init
wallet: Initialise ThreadNotifyWallets with wallets best block
2022-04-04 20:04:53 -06:00
Kris Nuttycombe ac0c24cfa0
Merge pull request #5820 from zcash/release-v4.6.0-2
Release v4.6.0-2
2022-04-04 17:42:09 -06:00
Jack Grigg ebe6f8b26d Update release notes for v4.6.0-2 2022-04-04 22:08:39 +00:00