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
Sean Bowe
979d0b5ee3
Fix logic for deciding whether to perform Orchard updates during rescan
...
In `ScanForWalletTransactions` we skip forward from `pindexStart` to a block
near our wallet birthday. But we use this as the basis for deciding the value
of `performOrchardWalletUpdates` later, which is wrong because our wallet
birthday might be beyond the NU5 activation height. The result is that we
won't actually perform the required scanning (mainly witnessing and so forth)
needed to spend notes in our wallet.
2022-04-04 16:06:11 -06: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
Jack Grigg
4475210f87
make-release.py: Versioning changes for 4.6.0-2.
2022-04-04 21:50:30 +00:00
str4d
86e36b941b
Merge pull request #5814 from daira/backports-v4.6.0-2
...
Backports for hotfix v4.6.0-2
2022-04-04 22:34:58 +01:00
Kris Nuttycombe
8e4dd1e964
Only check nWitnessCacheSize on rewind if we've ever witnessed a Sprout or Sapling note.
...
This allows "rollback" for empty Sapling wallets injected into nonempty
chain state that is then rolled back.
2022-04-04 15:31:19 -06:00
ebfull
fbddebc63f
Merge pull request #5804 from str4d/consensus-check-coinbase-shielded-spends
...
Apply HaveShieldedRequirements to coinbase transactions
2022-04-04 14:28:52 -06:00