From b7f9a7ae02ffcd4bce3df9e7c9e231b0d64ed0d4 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Wed, 29 Aug 2018 00:42:19 +0100 Subject: [PATCH] wallet: Comment out HDSeed and CHDChain persistence to disk Sapling keys generated from the seed are not yet persisted, so we don't want to persist the seed or chain state either, otherwise the wallet could end up in an inconsistent state. Some tests are temporarily disabled because commenting out HDSeed persistence breaks invariants inside CCryptoKeyStore. Revert this commit during the PR for #3388. --- qa/pull-tester/rpc-tests.sh | 4 ++-- src/test/rpc_wallet_tests.cpp | 2 ++ src/wallet/gtest/test_wallet_zkeys.cpp | 2 ++ src/wallet/wallet.cpp | 6 ++++++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/qa/pull-tester/rpc-tests.sh b/qa/pull-tester/rpc-tests.sh index d6eea9c68..25ecc409a 100755 --- a/qa/pull-tester/rpc-tests.sh +++ b/qa/pull-tester/rpc-tests.sh @@ -21,7 +21,7 @@ testScripts=( 'wallet_mergetoaddress.py' 'wallet.py' 'wallet_overwintertx.py' - 'wallet_nullifiers.py' +# 'wallet_nullifiers.py' 'wallet_1941.py' 'wallet_addresses.py' 'wallet_sapling.py' @@ -41,7 +41,7 @@ testScripts=( 'zapwallettxes.py' 'proxy_test.py' 'merkle_blocks.py' - 'fundrawtransaction.py' +# 'fundrawtransaction.py' 'signrawtransactions.py' 'walletbackup.py' 'key_import_export.py' diff --git a/src/test/rpc_wallet_tests.cpp b/src/test/rpc_wallet_tests.cpp index e72d70d20..3bc729f6f 100644 --- a/src/test/rpc_wallet_tests.cpp +++ b/src/test/rpc_wallet_tests.cpp @@ -1257,6 +1257,7 @@ BOOST_AUTO_TEST_CASE(rpc_z_sendmany_internals) /* * This test covers storing encrypted zkeys in the wallet. */ +/* TODO: Uncomment during PR for #3388 BOOST_AUTO_TEST_CASE(rpc_wallet_encrypted_wallet_zkeys) { LOCK2(cs_main, pwalletMain->cs_wallet); @@ -1312,6 +1313,7 @@ BOOST_AUTO_TEST_CASE(rpc_wallet_encrypted_wallet_zkeys) // We can't simulate over RPC the wallet closing and being reloaded // but there are tests for this in gtest. } +*/ BOOST_AUTO_TEST_CASE(rpc_z_listunspent_parameters) diff --git a/src/wallet/gtest/test_wallet_zkeys.cpp b/src/wallet/gtest/test_wallet_zkeys.cpp index b88c1409d..37f4b618a 100644 --- a/src/wallet/gtest/test_wallet_zkeys.cpp +++ b/src/wallet/gtest/test_wallet_zkeys.cpp @@ -288,6 +288,7 @@ TEST(wallet_zkeys_tests, WriteViewingKeyDirectToDB) { /** * This test covers methods on CWalletDB to load/save crypted z keys. */ +/* TODO: Uncomment during PR for #3388 TEST(wallet_zkeys_tests, write_cryptedzkey_direct_to_db) { SelectParams(CBaseChainParams::TESTNET); @@ -362,4 +363,5 @@ TEST(wallet_zkeys_tests, write_cryptedzkey_direct_to_db) { wallet2.GetSproutSpendingKey(paymentAddress2, keyOut); ASSERT_EQ(paymentAddress2, keyOut.address()); } +*/ diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index fb11b921f..e1ed88a24 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -1925,12 +1925,14 @@ bool CWallet::SetHDSeed(const HDSeed& seed) return true; } + /* TODO: Uncomment during PR for #3388 { LOCK(cs_wallet); if (!IsCrypted()) { return CWalletDB(strWalletFile).WriteHDSeed(seed); } } + */ return true; } @@ -1944,6 +1946,7 @@ bool CWallet::SetCryptedHDSeed(const uint256& seedFp, const std::vector