diff options
author | Russell Yanofsky <russ@yanofsky.org> | 2020-08-04 21:03:27 -0400 |
---|---|---|
committer | Russell Yanofsky <russ@yanofsky.org> | 2020-09-03 12:24:32 -0400 |
commit | 77d5bb72b8722ec7a6c7c33479a532cbd5870ba4 (patch) | |
tree | 84b7820a100705154d6635483486aaa119b9fa43 | |
parent | a987438e9d9cad0b5530e218a447928485f3fd93 (diff) | |
download | bitcoin-77d5bb72b8722ec7a6c7c33479a532cbd5870ba4.tar.xz |
wallet: Remove path checking code from createwallet RPC
This commit does not change behavior except for error messages which now
include more complete information.
-rw-r--r-- | src/wallet/rpcwallet.cpp | 1 | ||||
-rw-r--r-- | src/wallet/wallet.cpp | 7 | ||||
-rwxr-xr-x | test/functional/wallet_multiwallet.py | 3 |
3 files changed, 3 insertions, 8 deletions
diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp index 497a4120e5..891d650ad3 100644 --- a/src/wallet/rpcwallet.cpp +++ b/src/wallet/rpcwallet.cpp @@ -2647,6 +2647,7 @@ static UniValue createwallet(const JSONRPCRequest& request) DatabaseOptions options; DatabaseStatus status; + options.require_create = true; options.create_flags = flags; options.create_passphrase = passphrase; bilingual_str error; diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index 1751cbf5bc..0d07904924 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -253,13 +253,6 @@ std::shared_ptr<CWallet> CreateWallet(interfaces::Chain& chain, const std::strin wallet_creation_flags |= WALLET_FLAG_BLANK_WALLET; } - // Check the wallet file location - if (fs::symlink_status(fs::absolute(name.empty() ? "wallet.dat" : name, GetWalletDir())).type() != fs::file_not_found) { - error = strprintf(Untranslated("Wallet %s already exists."), name); - status = DatabaseStatus::FAILED_CREATE; - return nullptr; - } - // Wallet::Verify will check if we're trying to create a wallet with a duplicate name. std::unique_ptr<WalletDatabase> database = MakeWalletDatabase(name, options, status, error); if (!database) { diff --git a/test/functional/wallet_multiwallet.py b/test/functional/wallet_multiwallet.py index 168d6be42c..d64d3dcb49 100755 --- a/test/functional/wallet_multiwallet.py +++ b/test/functional/wallet_multiwallet.py @@ -273,7 +273,8 @@ class MultiWalletTest(BitcoinTestFramework): self.log.info("Test dynamic wallet creation.") # Fail to create a wallet if it already exists. - assert_raises_rpc_error(-4, "Wallet w2 already exists.", self.nodes[0].createwallet, 'w2') + path = os.path.join(self.options.tmpdir, "node0", "regtest", "wallets", "w2") + assert_raises_rpc_error(-4, "Failed to create database path '{}'. Database already exists.".format(path), self.nodes[0].createwallet, 'w2') # Successfully create a wallet with a new name loadwallet_name = self.nodes[0].createwallet('w9') |