Kris Nuttycombe
c3cf141936
Apply suggestions from code review
...
Co-authored-by: str4d <thestr4d@gmail.com>
2022-03-07 19:11:43 -07:00
Kris Nuttycombe
c9ef5cd45a
Add an `InPoint` type to the Orchard wallet to fix incorrect conflict data.
2022-03-07 19:05:00 -07:00
Kris Nuttycombe
97895a6f6d
Apply suggestions from code review
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-03-07 19:05:00 -07:00
Kris Nuttycombe
faffe2e084
Assert we never attempt to checkpoint the Orchard wallet at a negative block height.
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-03-07 19:05:00 -07:00
Kris Nuttycombe
6171f27b02
Add a test for Orchard note detection.
...
We can't actually test rollback via RPC tests until
wallet persistence is implemented. This implements
a rollback scenario that will should pass after wallet
persistence is implemented.
2022-03-07 19:05:00 -07:00
Kris Nuttycombe
9336c5e7f0
Remove assertions that require Orchard wallet persistence to satisfy.
2022-03-07 19:05:00 -07:00
Kris Nuttycombe
23a7314607
Check wallet latest anchor against hashFinalOrchardRoot in ChainTip.
...
This will cause test failures until note commitment tree persistence
is implemented.
2022-03-07 19:05:00 -07:00
Kris Nuttycombe
6b8ecc8a31
Reset Orchard wallet state when rescanning from below NU5 activation.
2022-03-07 19:05:00 -07:00
Kris Nuttycombe
b78c2732ab
Record when notes are detected as being spent in the Orchard wallet.
2022-03-07 19:04:58 -07:00
Kris Nuttycombe
5c049b6b13
Fix missing locks for GenerateNewUnifiedSpendingKey tests.
2022-03-07 19:03:02 -07:00
Kris Nuttycombe
8bc4c2aad8
Split LoadWalletTx from AddToWallet
...
The `CWallet::AddToWallet` method had completely divergent
behavior depending upon the value of the fFromLoadWallet
flag, and `pwalletdb` was unused when this flag was set
to `true`, so this is better represented as two distinct
methods on CWallet.
2022-03-07 19:03:00 -07:00
Kris Nuttycombe
f7006e9a33
Merge pull request #5592 from superbaud/gtest-ordering-fixes
...
fix ordering issues with gtests: WalletZkeysTest, ContextualCheckBlockTest, CheckBlock, Metrics.GetLocalSolPS
2022-03-07 18:54:16 -07:00
Kris Nuttycombe
237384cf2b
Update incrementalmerkletree version
2022-03-07 18:32:58 -07:00
Kris Nuttycombe
5a6ef3467e
Update MSRV for lints.
2022-03-07 18:21:37 -07:00
Daira Hopwood
9b20105413
Tweak the wording of the fallback messages when the terminal cannot be automatically cleared.
...
Co-authored-by: Kris Nuttycombe <kris@electriccoin.co>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-07 19:34:31 +00:00
Daira Hopwood
6fb943d0f6
Refactor use of `export_path` as suggested.
...
Co-authored-by: Sean Bowe <sean@electriccoin.co>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-07 19:33:27 +00:00
Daira Hopwood
e940829313
The recovery phrase confirmation and `zcashd-wallet-tool` are being introduced in zcashd v4.7.0.
...
Co-authored-by: Kris Nuttycombe <kris@electriccoin.co>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-07 19:32:51 +00:00
Daira Hopwood
6f5efcbb0f
Improved error handling.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-07 18:39:23 +00:00
Daira Hopwood
25792cba93
Move `wallet_tool.rs` from `src/rust/src` into `src/rust/bin`.
...
Also add a brief description of `zcashd-wallet-tool` to `src/rust/README.md`.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-07 18:39:23 +00:00
Daira Hopwood
8ec0d854b9
Add some text about choosing location of the physical backup.
...
Add TODO for better handling of file not found and permission errors.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-07 18:39:23 +00:00
Daira Hopwood
de933c1cb5
Attempt to fix linking problem on ARM.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-07 18:39:23 +00:00
Daira Hopwood
a36fceca70
Make a zcashd-wallet-tool executable.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-07 18:39:23 +00:00
Steven Smith
7f7d9e6e1f
Extend uniqueness check in z_sendmany to UA receivers
2022-03-06 21:24:14 -08:00
sasha
f1d652fc78
Call LoadProofParameters() in gtests that need proofs
2022-03-05 21:51:27 -08:00
sasha
8f68166c24
move proof parameter loading out of gtest/main.cpp and into utiltest.cpp
2022-03-05 21:51:27 -08:00
sasha
0e6b004a64
make librustzcash_init_zksnark_params idempotent
2022-03-05 21:51:27 -08:00
str4d
13351ff31d
Merge pull request #5609 from str4d/bump-deps-4.7.0-rc1
...
Bump dependencies ahead of 4.7.0-rc1
2022-03-05 13:37:28 +00:00
Jack Grigg
fdb5709e7e
depends: Revert to `libc++ 13.0.0-3` for Windows cross-compile
...
The 13.0.1-1 MSYS2 binaries cause linker errors due to missing `new` and
`delete` symbols. This commit partially reverts the LLVM 13.0.1 upgrade:
Windows cross-compilation still uses `clang 13.0.1`, but is compiled
against `libc++ 13.0.0`.
2022-03-05 03:53:13 +00:00
str4d
414e74f70a
Merge pull request #5629 from nuttycom/feature/wallet_orchard-minconf_filter
...
Respect minDepth argument for Orchard notes in GetFilteredNotes
2022-03-04 03:18:52 +00:00
Kris Nuttycombe
6540694845
Respect minDepth argument for Orchard notes in GetFilteredNotes
...
Fixes #5566
2022-03-03 17:41:30 -07:00
Kris Nuttycombe
cf4d0f3d2d
Add test for Orchard contribution to z_gettotalbalance
2022-03-03 17:41:30 -07:00
Charlie O'Keefe
e33178615c
Merge pull request #5581 from LarryRuane/2022-02-log-getblocktemplate
...
Log calls to getblocktemplate
2022-03-03 15:56:34 -07:00
Charlie O'Keefe
c2b5bf0c42
Merge pull request #5622 from nuttycom/logging/sapling_note_witnesses
...
Log outpoint for failed Sapling witness lookup.
2022-03-03 15:21:10 -07:00
str4d
d4a019e89b
Merge pull request #5621 from nuttycom/test/orchard_tree_ser_roundtrip
...
Add a roundtrip test for Orchard merkle frontier serialization from the C++ side.
2022-03-03 21:56:41 +00:00
Jack Grigg
8b90d32972
rpc: Handle keypool exhaustion separately in `generate` RPC
...
A prior commit moved the `IsValidMinerAddress()` call before the keypool
exhaustion check, but `IsValidMinerAddress()` internally handles keypool
exhaustion. We now check it explicitly first to retain the prior error
behaviour (as checked in the `keypool` RPC test).
2022-03-03 21:10:44 +00:00
Kris Nuttycombe
8b44cc7072
Add a roundtrip test for Orchard merkle frontier serialization from the C++ side.
...
Co-authored-by: str4d <thestr4d@gmail.com>
2022-03-03 11:04:40 -07:00
Kris Nuttycombe
ceff068e20
Merge pull request #5625 from therealyingtong/orchard-remove-with-anchor
...
Orchard: invalidate mempool transactions that use orphaned anchors.
2022-03-03 10:58:08 -07:00
Jack Grigg
613534bbb3
miner: Manually add dummy Orchard output with Orchard miner address
...
`orchard::Builder` pads to two Actions, but does so using a "no OVK"
policy for dummy outputs, which violates coinbase rules requiring all
shielded outputs to be recoverable. We manually add a dummy output to
sidestep this issue.
2022-03-03 15:57:40 +00:00
Jack Grigg
3fa58149b0
Select Orchard receivers from UA miner addresses once NU5 activates
...
Closes zcash/zcash#5023 .
2022-03-03 15:57:40 +00:00
Jack Grigg
1c31a1c7d8
Use `std::optional` in `CValidationInterface::GetAddressForMining`
...
The initial value for the provided return value is now `std::nullopt`
instead of the default value of the `MinerAddress` variant. This makes
it easier to distinguish "no miner address was provided" from "invalid
miner address".
2022-03-03 15:57:40 +00:00
Kris Nuttycombe
1732a50957
Merge pull request #5624 from str4d/fix-nu5-testnet-bug
...
Test and fix for chain forks on NU5 testnet
2022-03-03 08:29:40 -07:00
Daira Hopwood
5990853de3
Merge pull request #5623 from str4d/nu5-fix-orchard-commitment-tree-bugs
...
Fix for chain forks on NU5 testnet
2022-03-03 15:21:58 +00:00
Kris Nuttycombe
fd2f5bdc28
Merge pull request #5610 from therealyingtong/debug-any-taddr
...
Ignore expired transactions in `CWallet::FindSpendableInputs`.
2022-03-03 08:08:06 -07:00
Kris Nuttycombe
65b5b7509c
Merge pull request #5612 from ebfull/feature/persist_orchard_keys
...
Recover orchard keys and mappings during wallet load
2022-03-03 07:47:16 -07:00
Jack Grigg
35b8c8648f
Merge branch 'nu5-fix-orchard-commitment-tree-bugs' into fix-nu5-testnet-bug
2022-03-03 13:36:45 +00:00
Jack Grigg
9a60cdeed9
Add RPC test for the Orchard commitment tree bug on first NU5 testnet
2022-03-03 13:36:42 +00:00
Jack Grigg
ae3d2a3525
Add missing `view.PopAnchor(_, ORCHARD)` in `DisconnectBlock`
...
By forgetting to pop the tree, we were leaving the view in an
inconsistent state, where it believed the best Orchard anchor was for a
tree that didn't correspond to the rest of the view. This would then
propagate in subsequent block connections, and the chain history
commitments to Orchard tree roots eventually result in inconsistent
`blockcommitments` values in subsequent blocks.
2022-03-03 13:26:48 +00:00
Jack Grigg
2230ba912f
Ensure the view's best Orchard anchor matches the previous block
...
`ConnectBlock` was already checking that the given view's "best block"
was the previous block. However, it then assumed the view was correct on
its claimed best anchors.
For Orchard, we know that `hashFinalOrchardRoot` field of `CBlockIndex`
will only ever be set when a block is (attempted to be) connected to the
main chain, and so we can instead add assertions around its value and
ensure the view is consistent with the previous block.
2022-03-03 13:26:48 +00:00
therealyingtong
dbb7e027c8
Orchard: invalidate mempool transactions that use orphaned anchors.
2022-03-03 17:37:07 +08:00
Sean Bowe
bd137561f2
wallet: add logging for failure cases in unified cache loading
2022-03-02 16:24:08 -07:00