Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wallet: Add ListWalletDir utility function #14291

Merged
merged 5 commits into from Oct 18, 2018

Conversation

@promag
Copy link
Member

@promag promag commented Sep 21, 2018

ListWalletDir returns all available wallets in the current wallet directory.

Based on MeshCollider work in pull #11485.

@promag
Copy link
Member Author

@promag promag commented Sep 21, 2018

After #11485 (comment) decided to push this.

Consider the following:

$ find wallets
wallets
wallets/wallet.dat
wallets/db.log
wallets/x1
wallets/x1/wallet.dat
wallets/x1/db.log
wallets/x1/.walletlock
wallets/x2
wallets/x2/wallet.dat
wallets/x2/db.log
wallets/x2/.walletlock
wallets/.walletlock
wallets/w
wallets/w/x3
wallets/w/x3/wallet.dat
wallets/w/x3/db.log
wallets/w/x3/.walletlock

ListWalletDir() gives

wallet.dat
x1
x2
w/x3

@promag promag force-pushed the 2018-09-list-wallet-dir branch 2 times, most recently from c00703e to e84e729 Sep 21, 2018
@DrahtBot
Copy link
Contributor

@DrahtBot DrahtBot commented Sep 22, 2018

Reviewers, this pull request conflicts with the following ones:
  • #13100 (gui: Add dynamic wallets support by promag)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

paths.push_back(path.string());
}
return paths;
}
Copy link
Contributor

@ken2812221 ken2812221 Sep 22, 2018

How about moving these functions to interfaces/wallet.cpp. I think they don't belong here.

Copy link
Contributor

@ryanofsky ryanofsky Sep 22, 2018

How about moving these functions to interfaces/wallet.cpp. I think they don't belong here.

This is a reasonable place. These methods fit in with the existing getWallets and handleLoadWallet methods. The Node interface is somewhat monolithic and we could consider breaking it up in various ways. But the Wallet interface would be the wrong place to add these methods. Wallet methods operate on individual wallets, not collections of wallets. And these methods need to be available before any Wallet object is constructed.


std::vector<fs::path> ListWalletDir()
{
const unsigned char bdb_magic[4] = {0x62, 0x31, 0x05, 0x00}; // Berkeley DB Btree magic bytes
Copy link
Contributor

@ryanofsky ryanofsky Sep 22, 2018

Should cite the source of this information (https://github.com/file/file/blob/5824af38469ec1ca9ac3ffd251e7afe9dc11e227/magic/Magdir/database#L74-L75) to give credit upstream and make this code easier to understand / debug / update in the future.


std::vector<fs::path> ListWalletDir()
{
const unsigned char bdb_magic[4] = {0x62, 0x31, 0x05, 0x00}; // Berkeley DB Btree magic bytes
Copy link
Contributor

@ryanofsky ryanofsky Sep 22, 2018

Since this is declared as bytes, the memcmp below will only look for little-endian btree files, even on big endian platforms. It seems like it would make more sense to look for little endian files on little-endian platforms, and big endian files on big endian platforms. Changing this to uint32_t bdb_magic = 0x00053162 and passing &bdb_magic to memcmp should accomplish this.

// avoid duplicates due to the recursive iteration
if (!dbs.insert(db).second) continue;

paths.push_back(fs::relative(path, wallet_dir));
Copy link
Contributor

@ryanofsky ryanofsky Sep 22, 2018

There are a number of problems with this implementation:

  1. Because this opens files recursively, it will return btree paths not in the top directory which CWallet::Verify will reject:

    bitcoin/src/wallet/wallet.cpp

    Lines 3824 to 3829 in 920c090

    // Do some checking on wallet path. It should be either a:
    //
    // 1. Path where a directory can be created.
    // 2. Path to an existing directory.
    // 3. Path to a symlink to a directory.
    // 4. For backwards compatibility, the name of a data file in -walletdir.
  2. Because is_regular_file will return true for symlinks pointing to files, this will return symlink paths which CWallet::Verify will reject
  3. Because recursive_directory_iterator order is unspecified, on systems where it does postorder instead of preorder traversal, this will return <wallet>/wallet.dat instead of <wallet> paths, which CWallet::Verify will reject.
  4. Less serious, but this returns "wallet.dat" instead of "" as the path for the top level wallet. This is inconsistent with top level wallet path returned in current listwallets and getwalletinfo rpcs in the default bitcoin configuration.
  5. This is less efficient than it needs to be. Instead of only opening files called wallet.dat in subdirectories, it will read logs and other random files which bitcoin would never open as wallets. It also reads wallet.dat files in subdirectories twice and then uses a std::set to filter out the duplicates after they are read, which is unnecessary.

Following alternate implementation is untested, but I think would avoid these problems:

std::vector<fs::path> wallets;
for (auto it = fs::recursive_directory_iterator(wallet_dir); it != end(it); ++it) {
    if (it->status().type() == fs::directory_file && IsBerkeleyBtree(it->path() / "wallet.dat")) {
        // Found a directory which contains wallet.dat btree file, add it as a wallet.
        wallets.emplace_back(it->path());
    } else if (it.level() == 0 && it->symlink_status().type() == fs::regular_file && IsBerkeleyBtree(it->path())) {
        if (it->path() == "wallet.dat") {
            // Found top-level wallet.dat btree file, add top level directory ""
            // as a wallet.
            wallets.emplace_back();
        } else {
            // Found top-level btree file not called wallet.dat. Current bitcoin
            // software will never create these files but will allow them to be
            // opened in a shared database environment for backwards compatibility.
            // Add it to the list of available wallets.
            wallets.emplace_back(it->path());
        }
    }
}
return wallets;

paths.push_back(path.string());
}
return paths;
}
Copy link
Contributor

@ryanofsky ryanofsky Sep 22, 2018

How about moving these functions to interfaces/wallet.cpp. I think they don't belong here.

This is a reasonable place. These methods fit in with the existing getWallets and handleLoadWallet methods. The Node interface is somewhat monolithic and we could consider breaking it up in various ways. But the Wallet interface would be the wrong place to add these methods. Wallet methods operate on individual wallets, not collections of wallets. And these methods need to be available before any Wallet object is constructed.

@promag
Copy link
Member Author

@promag promag commented Sep 22, 2018

Thanks @ryanofsky, will update accordingly.

@@ -11,4 +11,7 @@
//! Get the path of the wallet directory.
fs::path GetWalletDir();

//! Get wallets in wallet directory.
std::vector<fs::path> ListWalletDir();

Copy link
Contributor

@practicalswift practicalswift Sep 22, 2018

Nit: Add some trivial test for ListWalletDir to make it technically in use.

Copy link
Member Author

@promag promag Sep 25, 2018

There is listwaletdir RPC, which has some tests.

@laanwj laanwj changed the title wallet: Add ListWalletDir utility wallet: Add ListWalletDir utility function Sep 23, 2018
@promag promag force-pushed the 2018-09-list-wallet-dir branch from e84e729 to 8d0ef07 Sep 24, 2018
@promag
Copy link
Member Author

@promag promag commented Sep 24, 2018

@ryanofsky updated to used your suggested code with some minor details fixed. The result is still relative paths to -walletdir.

@practicalswift will add test.

@promag promag force-pushed the 2018-09-list-wallet-dir branch from 8d0ef07 to 61e1b31 Sep 24, 2018
Copy link
Member

@Sjors Sjors left a comment

Concept ACK. Tested 20db275 on macOS (needs testing on Windows).

My wallet.dat ended up as "" in the list.

Relying on BDB magic bytes to figure out if something is a wallet seems potentially brittle. Can you add BDB4 and BDB5 wallet payloads to the test suite? In addition the test node could dynamically create a wallet, and then try to find it. That way at least some developer will see that test fail on their machine if they compile with a future BDB version that's somehow different.

@@ -34,6 +34,16 @@ void DummyWalletInit::AddWalletOptions() const

const WalletInitInterface& g_wallet_init_interface = DummyWalletInit();

fs::path GetWalletDir()
{
throw std::logic_error("Wallet function called in non-wallet build.");
Copy link
Member

@Sjors Sjors Sep 25, 2018

Nit: throwNotWalletBuild()?

virtual std::string getWalletDir() = 0;

//! Return available wallets in wallet directory.
virtual std::vector<std::string> listWalletDir() = 0;
Copy link
Member

@Sjors Sjors Sep 25, 2018

I find this function name confusing. How about listWallets()? A future version of this function could take a directory argument and the name would still make sense.

Copy link
Member Author

@promag promag Sep 25, 2018

I like the pairing between getWalletDir, listWalletDir and -walletdir, but I don't have a strong preference. Let's see what others say.

Copy link
Contributor

@ryanofsky ryanofsky Sep 26, 2018

I think I agree with promag. listWalletDir describes more specifically what the function does than listWallets and it fits in with the other names cited. I don't imagine us adding a gui feature that would call for the gui asking the node to list wallets in a directory other than -walletdir, but even if we did and this method gained an optional argument, listWalletDir would still seem like a sensible name.

@@ -2450,6 +2450,32 @@ static UniValue getwalletinfo(const JSONRPCRequest& request)
return obj;
}

static UniValue listwalletdir(const JSONRPCRequest& request)
Copy link
Member

@Sjors Sjors Sep 25, 2018

Ditto as above, but unfortunately it's too late to rename listwallets to listloadedwallets. Overloading listwallets doesn't seem like a good idea.

What about lswallets, listwalletfiles or findwallets?

Copy link
Member Author

@promag promag Sep 25, 2018

Agree in not overloading listwallets. There are more alternatives in #11485 discussion thread.

Copy link
Contributor

@ryanofsky ryanofsky Sep 26, 2018

I don't see a problem with listwalletdir. It describes the thing this RPC does, which is to list the contents of the -walletdir directory. (I do think it would have been clearer if that directory would have been called -walletsdir instead of -walletdir, but surprising to me as a native english speaker, other people seemed to think -walletsdir was clumsy and not grammatical in #12221).

for (auto& path : ListWalletDir()) {
paths.push_back(path.string());
}
return paths;
Copy link
Member

@Sjors Sjors Sep 25, 2018

Sort alphabetically?

Copy link
Member Author

@promag promag Sep 25, 2018

I think that's something for the UI to handle. It can sort by other attribute, like last modified, transaction count, balance, etc.

Copy link
Member

@Sjors Sjors Sep 25, 2018

That's fine, as long as the RPC interface does it, that's also a User Interface :-)

Copy link
Member Author

@promag promag Sep 25, 2018

Should we sort listwallets result too?

Copy link
Member

@Sjors Sjors Sep 25, 2018

That could be a nice improvement. Not necessarily in this PR, but perhaps there could be a common function to render the list of wallets in RPC, to make sure they're consistent.

Copy link
Member Author

@promag promag Sep 26, 2018

Should it ignore case? Should have an option to support numeric/date prefixes?

From the cli point of view, you can do stuff like bitcoin-cli -regtest listwalletdir | jq -r '.wallets | map(.name) | join("\n")' | sort ....

Copy link
Member

@Sjors Sjors Sep 26, 2018

Don't most alphabetical sort functions ignore case (unless it's a tie) and put numbers before letters? I'm a fan of jq, but seems overkill for a simple list. It doesn't seem terribly complicated in C++11 even with UTF-8 (1st answer, 3rd example):

std::wstring a[] = {L"Шла", L"Саша", L"по", L"шоссе", L"и", L"сосала", L"сушку"};
std::sort(std::begin(a), std::end(a), std::locale("en_US.utf8"));
std::wstring_convert<std::codecvt_utf8<wchar_t>> cvt;
for(auto& s: a) std::cout << cvt.to_bytes(s) << ' ';

Copy link
Member Author

@promag promag Sep 26, 2018

If you don't mind I prefer to follow up that discussion and possible implementation in both RPC. In this PR I'm just following listwallets ordering and for now having the functionality is enough.

Copy link
Contributor

@ryanofsky ryanofsky left a comment

utACK 20db275b250189cfd2200df8e5535aa92afa594a

std::vector<fs::path> paths;

for (auto it = fs::recursive_directory_iterator(wallet_dir); it != end(it); ++it) {
std::cout << it->path().string() << '-' << it.level() << std::endl;
Copy link
Contributor

@ryanofsky ryanofsky Sep 26, 2018

In commit "wallet: Add ListWalletDir utility" (90adb2cd6149af1869e624a2060ec8c4a543cf08)

Probably delete this line, it looks leftover from debugging.

Copy link
Member Author

@promag promag Sep 26, 2018

Ops

virtual std::string getWalletDir() = 0;

//! Return available wallets in wallet directory.
virtual std::vector<std::string> listWalletDir() = 0;
Copy link
Contributor

@ryanofsky ryanofsky Sep 26, 2018

I think I agree with promag. listWalletDir describes more specifically what the function does than listWallets and it fits in with the other names cited. I don't imagine us adding a gui feature that would call for the gui asking the node to list wallets in a directory other than -walletdir, but even if we did and this method gained an optional argument, listWalletDir would still seem like a sensible name.

"Returns a list of wallets in the wallet directory.\n"
"\nResult:\n"
"[ (json array of strings)\n"
" \"walletname\" (string) the wallet name\n"
Copy link
Contributor

@ryanofsky ryanofsky Sep 26, 2018

In commit "rpc: Add listwalletdir RPC" (963eb27e8598e2746966ee4056f177ed332f0279)

I would consider avoiding a mistake we've made previously with other api's (listwallets, listaccounts) where we limited extensibility by returning lists of strings instead of list of json objects. Specifically, I think it'd be better to return

[ {"wallet": ""}, {"wallet": "foo"}, {"wallet": "bar"} ]

instead of:

[ "", "foo", "bar" ]

Because there's more metadata we could be returning about these wallets even without opening them, such as last modified times from the filesystem, status strings indicating whether wallets are presently loaded and locked, and path types indicating whether wallet paths refer to directories, symlinks, or legacy btree files.

Copy link
Member Author

@promag promag Sep 26, 2018

Absolutely, my initial response was like:

{
    "wallets": [
        { "name": "" }
    ]
}

which permits adding, for instance, walletdir, count, offset..

@@ -2450,6 +2450,32 @@ static UniValue getwalletinfo(const JSONRPCRequest& request)
return obj;
}

static UniValue listwalletdir(const JSONRPCRequest& request)
Copy link
Contributor

@ryanofsky ryanofsky Sep 26, 2018

I don't see a problem with listwalletdir. It describes the thing this RPC does, which is to list the contents of the -walletdir directory. (I do think it would have been clearer if that directory would have been called -walletsdir instead of -walletdir, but surprising to me as a native english speaker, other people seemed to think -walletsdir was clumsy and not grammatical in #12221).

@@ -39,7 +39,7 @@ static bool IsBerkeleyBtree(const fs::path& path)
uint32_t data = 0;
file.read((char*) &data, sizeof(data)); // Read 4 bytes of file to compare against magic

return memcmp(&data, &bdb_magic, sizeof(bdb_magic)) == 0;
Copy link
Member Author

@promag promag Sep 26, 2018

@ryanofsky does this looks good to you?

@promag promag force-pushed the 2018-09-list-wallet-dir branch from 5e3a14d to 2ac1404 Sep 26, 2018
@promag
Copy link
Member Author

@promag promag commented Sep 26, 2018

Squashed and added release notes.

@promag
Copy link
Member Author

@promag promag commented Sep 27, 2018

the test node could dynamically create a wallet, and then try to find it. That way at least some developer will see that test fail on their machine if they compile with a future BDB version that's somehow different.

@Sjors does the test change looks good to you?

@DrahtBot
Copy link
Contributor

@DrahtBot DrahtBot commented Sep 28, 2018

Coverage Change (pull 14291) Reference (master)
Lines -0.0043 % 87.0361 %
Functions -0.0186 % 84.1130 %
Branches -0.0052 % 51.5451 %

@Sjors
Copy link
Member

@Sjors Sjors commented Sep 28, 2018

@promag it covers the second part of my suggestion yes: the wallets are generated by the test framework (using whatever version of BDB is on the dev machine), and then listed.

Can you add BDB4 and BDB5 wallet payloads to the test suite?

This isn't explicitly tested, but because some/most Travis machines use bdb4, it's covered regardless. We're not officially supporting BDB>4 wallets, so that's not important.

tACK fc40216e1b0a3e0462b4119f6e4380ac368ed828 for macOS, modulo wallet.dat being shown as "" (though that can be fixed later).

@promag
Copy link
Member Author

@promag promag commented Sep 28, 2018

modulo wallet.dat being shown as "" (though that can be fixed later).

That's the name of the default wallet, so it doesn't needs fix. Try:

bitcoind -regtest &
bitcoin-cli -regtest unloadwallet ""

tACK fc40216 for macOS

Thanks @Sjors 👍

@Sjors
Copy link
Member

@Sjors Sjors commented Sep 28, 2018

@promag that's weird, but unrelated to this change. When you do listwallets it shows up as wallet.dat. And can you load it with loadwallet ""?

@promag
Copy link
Member Author

@promag promag commented Sep 28, 2018

@Sjors here I have:

bitcoind -regtest
bitcoin-cli -regtest  listwallets
[
  ""
]

@Sjors
Copy link
Member

@Sjors Sjors commented Sep 28, 2018

Try adding a second wallet to bitcoin.conf, then it shows up as "wallet.dat". But in that case you can unload with unloadwallet "wallet.dat". In case you don't have wallets in bitcoin.conf, there's never a need to load wallet.dat, so then it doesn't matter that it's called "".

@laanwj laanwj added this to Blockers in High-priority for review Oct 4, 2018
Copy link
Member

@meshcollider meshcollider left a comment

utACK fc40216


file.seekg(12, std::ios::beg); // Magic bytes start at offset 12
uint32_t data = 0;
file.read((char*) &data, sizeof(data)); // Read 4 bytes of file to compare against magic
Copy link
Contributor

@etscrivner etscrivner Oct 7, 2018

Any concerns about the endianness of data as compared to bdb_magic here?

Copy link
Contributor

@ryanofsky ryanofsky Oct 16, 2018

Any concerns about the endianness of data as compared to bdb_magic here?

Could add a comment here, but this checks for databases in the native format. On big endian systems, the magic bytes are 00 05 31 62, and on little endian systems they are 62 31 05 00.

Copy link
Member

@laanwj laanwj Oct 18, 2018

agree with regard to adding comment; at least I too had no idea that BerkeleyDB files generated on big-endian systems are incompatible!

edit: another theory on IRC is that BerkeleyDB creates the file in native endian but accepts both (does byteswaps if needed)! if this is true, you need to check for both orderings here

here's Oracle's magic file for id'ing BDB files; https://docs.oracle.com/cd/E17275_01/html/programmer_reference/magic.txt
tl;dr; check both ways around

// software will never create these files but will allow them to be
// opened in a shared database environment for backwards compatibility.
// Add it to the list of available wallets.
paths.emplace_back(fs::relative(it->path(), wallet_dir));
Copy link
Member

@MarcoFalke MarcoFalke Oct 20, 2018

wallet/walletutil.cpp:71:36: error: ‘relative’ is not a member of ‘fs’
                 paths.emplace_back(fs::relative(it->path(), wallet_dir));
                                    ^

See: #14528 (travis: Compile once on xenial)

@@ -68,6 +70,8 @@ def wallet_file(name):
wallet_names = ['w1', 'w2', 'w3', 'w', 'sub/w5', os.path.join(self.options.tmpdir, 'extern/w6'), 'w7_symlink', 'w8', '']
extra_args = ['-wallet={}'.format(n) for n in wallet_names]
self.start_node(0, extra_args)
assert_equal(set(map(lambda w: w['name'], self.nodes[0].listwalletdir()['wallets'])), set(['', 'w3', 'w2', 'sub/w5', 'w7', 'w7', 'w1', 'w8', 'w']))
Copy link
Member Author

@promag promag Oct 20, 2018

This is wrong, fs::relative resolves symlinks but we allow symlinks to be specified as wallet names. I guess listwalletdir should list both w7 and w7_symlink but in runtime only one could be loaded (actually it's the same wallet but with different names). @ryanofsky @laanwj should I fix this in #14531 or fix in a separate PR?

@kallewoof
Copy link
Member

@kallewoof kallewoof commented Oct 22, 2018

On Debian Jessie PowerPC (Big endian) system (endianness probably unrelated):

wallet/walletutil.cpp: In function ‘std::vector<boost::filesystem::path> ListWalletDir()’:
wallet/walletutil.cpp:57:78: error: ‘end’ was not declared in this scope
     for (auto it = fs::recursive_directory_iterator(wallet_dir); it != end(it); ++it) {
                                                                              ^
wallet/walletutil.cpp:57:78: note: suggested alternative:
In file included from /usr/include/c++/4.9/bits/basic_string.h:42:0,
                 from /usr/include/c++/4.9/string:52,
                 from ./fs.h:9,
                 from ./wallet/walletutil.h:8,
                 from wallet/walletutil.cpp:5:
/usr/include/c++/4.9/initializer_list:99:5: note:   ‘std::end’
     end(initializer_list<_Tp> __ils) noexcept
     ^
wallet/walletutil.cpp:60:32: error: ‘relative’ is not a member of ‘fs’
             paths.emplace_back(fs::relative(it->path(), wallet_dir));
                                ^
wallet/walletutil.cpp:71:36: error: ‘relative’ is not a member of ‘fs’
                 paths.emplace_back(fs::relative(it->path(), wallet_dir));
                                    ^
Makefile:6919: recipe for target 'wallet/libbitcoin_wallet_a-walletutil.o' failed
make[2]: *** [wallet/libbitcoin_wallet_a-walletutil.o] Error 1
make[2]: Leaving directory '/root/workspace/bitcoin/src'
Makefile:10219: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/root/workspace/bitcoin/src'
Makefile:697: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

deadalnix pushed a commit to Bitcoin-ABC/bitcoin-abc that referenced this issue Mar 21, 2020
Summary:
d56a0689354fb814510c6c393f3e07ac9362dc1f docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad166bbeb75e9cc1512286453f8e7d4f717 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360c417780f5cbd7bd69b438817a9d60be rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5f04a2cc9ebb985bd9a1aebd2068f757 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bfd78d85d6b52d5da3d89696160658450 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet directory.

  Based on MeshCollider work in pull #11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716

Backport of Core [[bitcoin/bitcoin#14291 | PR14291]]

Test Plan:
  ninja
  ninja check
  ninja check-functional
  ./bitcoind
  ./bitcoin-cli help
Verify `listwalletdir` appears in the list of `Wallet` RPCs.
  ./bitcoin-cli help listwalletdir
  ./bitcoin-cli listwalletdir
Verify new RPC help text and behavior.

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5527
ftrader added a commit to bitcoin-cash-node/bitcoin-cash-node that referenced this issue May 19, 2020
Summary:
d56a0689354fb814510c6c393f3e07ac9362dc1f docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad166bbeb75e9cc1512286453f8e7d4f717 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360c417780f5cbd7bd69b438817a9d60be rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5f04a2cc9ebb985bd9a1aebd2068f757 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bfd78d85d6b52d5da3d89696160658450 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet directory.

  Based on MeshCollider work in pull #11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716

Backport of Core [[bitcoin/bitcoin#14291 | PR14291]]

Test Plan:
  ninja
  ninja check
  ninja check-functional
  ./bitcoind
  ./bitcoin-cli help
Verify `listwalletdir` appears in the list of `Wallet` RPCs.
  ./bitcoin-cli help listwalletdir
  ./bitcoin-cli listwalletdir
Verify new RPC help text and behavior.

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5527
jonspock added a commit to jonspock/devault that referenced this issue Aug 14, 2020
…:filesystem fixes

Summary:
d56a0689354fb814510c6c393f3e07ac9362dc1f docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad166bbeb75e9cc1512286453f8e7d4f717 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360c417780f5cbd7bd69b438817a9d60be rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5f04a2cc9ebb985bd9a1aebd2068f757 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bfd78d85d6b52d5da3d89696160658450 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet directory.

  Based on MeshCollider work in pull #11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716

Backport of Core [[bitcoin/bitcoin#14291 | PR14291]]

Test Plan:
  ninja
  ninja check
  ninja check-functional
  ./bitcoind
  ./bitcoin-cli help
Verify `listwalletdir` appears in the list of `Wallet` RPCs.
  ./bitcoin-cli help listwalletdir
  ./bitcoin-cli listwalletdir
Verify new RPC help text and behavior.

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5527
jonspock added a commit to jonspock/devault that referenced this issue Aug 27, 2020
…:filesystem fixes

Summary:
d56a0689354fb814510c6c393f3e07ac9362dc1f docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad166bbeb75e9cc1512286453f8e7d4f717 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360c417780f5cbd7bd69b438817a9d60be rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5f04a2cc9ebb985bd9a1aebd2068f757 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bfd78d85d6b52d5da3d89696160658450 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet directory.

  Based on MeshCollider work in pull #11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716

Backport of Core [[bitcoin/bitcoin#14291 | PR14291]]

Test Plan:
  ninja
  ninja check
  ninja check-functional
  ./bitcoind
  ./bitcoin-cli help
Verify `listwalletdir` appears in the list of `Wallet` RPCs.
  ./bitcoin-cli help listwalletdir
  ./bitcoin-cli listwalletdir
Verify new RPC help text and behavior.

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5527
jonspock added a commit to jonspock/devault that referenced this issue Aug 28, 2020
…:filesystem fixes

Summary:
d56a0689354fb814510c6c393f3e07ac9362dc1f docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad166bbeb75e9cc1512286453f8e7d4f717 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360c417780f5cbd7bd69b438817a9d60be rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5f04a2cc9ebb985bd9a1aebd2068f757 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bfd78d85d6b52d5da3d89696160658450 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet directory.

  Based on MeshCollider work in pull #11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716

Backport of Core [[bitcoin/bitcoin#14291 | PR14291]]

Test Plan:
  ninja
  ninja check
  ninja check-functional
  ./bitcoind
  ./bitcoin-cli help
Verify `listwalletdir` appears in the list of `Wallet` RPCs.
  ./bitcoin-cli help listwalletdir
  ./bitcoin-cli listwalletdir
Verify new RPC help text and behavior.

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5527
jonspock added a commit to jonspock/devault that referenced this issue Sep 4, 2020
…:filesystem fixes

Summary:
d56a0689354fb814510c6c393f3e07ac9362dc1f docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad166bbeb75e9cc1512286453f8e7d4f717 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360c417780f5cbd7bd69b438817a9d60be rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5f04a2cc9ebb985bd9a1aebd2068f757 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bfd78d85d6b52d5da3d89696160658450 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet directory.

  Based on MeshCollider work in pull #11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716

Backport of Core [[bitcoin/bitcoin#14291 | PR14291]]

Test Plan:
  ninja
  ninja check
  ninja check-functional
  ./bitcoind
  ./bitcoin-cli help
Verify `listwalletdir` appears in the list of `Wallet` RPCs.
  ./bitcoin-cli help listwalletdir
  ./bitcoin-cli listwalletdir
Verify new RPC help text and behavior.

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5527
jonspock added a commit to jonspock/devault that referenced this issue Sep 5, 2020
…:filesystem fixes

Summary:
d56a0689354fb814510c6c393f3e07ac9362dc1f docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad166bbeb75e9cc1512286453f8e7d4f717 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360c417780f5cbd7bd69b438817a9d60be rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5f04a2cc9ebb985bd9a1aebd2068f757 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bfd78d85d6b52d5da3d89696160658450 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet directory.

  Based on MeshCollider work in pull #11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716

Backport of Core [[bitcoin/bitcoin#14291 | PR14291]]

Test Plan:
  ninja
  ninja check
  ninja check-functional
  ./bitcoind
  ./bitcoin-cli help
Verify `listwalletdir` appears in the list of `Wallet` RPCs.
  ./bitcoin-cli help listwalletdir
  ./bitcoin-cli listwalletdir
Verify new RPC help text and behavior.

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5527
jonspock added a commit to jonspock/devault that referenced this issue Sep 6, 2020
…:filesystem fixes

Summary:
d56a0689354fb814510c6c393f3e07ac9362dc1f docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad166bbeb75e9cc1512286453f8e7d4f717 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360c417780f5cbd7bd69b438817a9d60be rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5f04a2cc9ebb985bd9a1aebd2068f757 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bfd78d85d6b52d5da3d89696160658450 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet directory.

  Based on MeshCollider work in pull #11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716

Backport of Core [[bitcoin/bitcoin#14291 | PR14291]]

Test Plan:
  ninja
  ninja check
  ninja check-functional
  ./bitcoind
  ./bitcoin-cli help
Verify `listwalletdir` appears in the list of `Wallet` RPCs.
  ./bitcoin-cli help listwalletdir
  ./bitcoin-cli listwalletdir
Verify new RPC help text and behavior.

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5527
jonspock added a commit to jonspock/devault that referenced this issue Sep 13, 2020
…:filesystem fixes

Summary:
d56a0689354fb814510c6c393f3e07ac9362dc1f docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad166bbeb75e9cc1512286453f8e7d4f717 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360c417780f5cbd7bd69b438817a9d60be rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5f04a2cc9ebb985bd9a1aebd2068f757 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bfd78d85d6b52d5da3d89696160658450 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet directory.

  Based on MeshCollider work in pull #11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716

Backport of Core [[bitcoin/bitcoin#14291 | PR14291]]

Test Plan:
  ninja
  ninja check
  ninja check-functional
  ./bitcoind
  ./bitcoin-cli help
Verify `listwalletdir` appears in the list of `Wallet` RPCs.
  ./bitcoin-cli help listwalletdir
  ./bitcoin-cli listwalletdir
Verify new RPC help text and behavior.

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5527
jonspock added a commit to jonspock/devault that referenced this issue Sep 13, 2020
…:filesystem fixes

Summary:
d56a0689354fb814510c6c393f3e07ac9362dc1f docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad166bbeb75e9cc1512286453f8e7d4f717 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360c417780f5cbd7bd69b438817a9d60be rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5f04a2cc9ebb985bd9a1aebd2068f757 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bfd78d85d6b52d5da3d89696160658450 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet directory.

  Based on MeshCollider work in pull #11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716

Backport of Core [[bitcoin/bitcoin#14291 | PR14291]]

Test Plan:
  ninja
  ninja check
  ninja check-functional
  ./bitcoind
  ./bitcoin-cli help
Verify `listwalletdir` appears in the list of `Wallet` RPCs.
  ./bitcoin-cli help listwalletdir
  ./bitcoin-cli listwalletdir
Verify new RPC help text and behavior.

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5527
jonspock added a commit to jonspock/devault that referenced this issue Sep 15, 2020
…:filesystem fixes

Summary:
d56a0689354fb814510c6c393f3e07ac9362dc1f docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad166bbeb75e9cc1512286453f8e7d4f717 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360c417780f5cbd7bd69b438817a9d60be rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5f04a2cc9ebb985bd9a1aebd2068f757 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bfd78d85d6b52d5da3d89696160658450 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet directory.

  Based on MeshCollider work in pull #11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716

Backport of Core [[bitcoin/bitcoin#14291 | PR14291]]

Test Plan:
  ninja
  ninja check
  ninja check-functional
  ./bitcoind
  ./bitcoin-cli help
Verify `listwalletdir` appears in the list of `Wallet` RPCs.
  ./bitcoin-cli help listwalletdir
  ./bitcoin-cli listwalletdir
Verify new RPC help text and behavior.

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5527
jonspock added a commit to jonspock/devault that referenced this issue Sep 16, 2020
…:filesystem fixes

Summary:
d56a0689354fb814510c6c393f3e07ac9362dc1f docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad166bbeb75e9cc1512286453f8e7d4f717 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360c417780f5cbd7bd69b438817a9d60be rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5f04a2cc9ebb985bd9a1aebd2068f757 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bfd78d85d6b52d5da3d89696160658450 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet directory.

  Based on MeshCollider work in pull #11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716

Backport of Core [[bitcoin/bitcoin#14291 | PR14291]]

Test Plan:
  ninja
  ninja check
  ninja check-functional
  ./bitcoind
  ./bitcoin-cli help
Verify `listwalletdir` appears in the list of `Wallet` RPCs.
  ./bitcoin-cli help listwalletdir
  ./bitcoin-cli listwalletdir
Verify new RPC help text and behavior.

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5527
jonspock added a commit to jonspock/devault that referenced this issue Sep 16, 2020
…:filesystem fixes

Summary:
d56a0689354fb814510c6c393f3e07ac9362dc1f docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad166bbeb75e9cc1512286453f8e7d4f717 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360c417780f5cbd7bd69b438817a9d60be rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5f04a2cc9ebb985bd9a1aebd2068f757 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bfd78d85d6b52d5da3d89696160658450 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet directory.

  Based on MeshCollider work in pull #11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716

Backport of Core [[bitcoin/bitcoin#14291 | PR14291]]

Test Plan:
  ninja
  ninja check
  ninja check-functional
  ./bitcoind
  ./bitcoin-cli help
Verify `listwalletdir` appears in the list of `Wallet` RPCs.
  ./bitcoin-cli help listwalletdir
  ./bitcoin-cli listwalletdir
Verify new RPC help text and behavior.

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5527
jonspock added a commit to jonspock/devault that referenced this issue Sep 17, 2020
…:filesystem fixes

Summary:
d56a0689354fb814510c6c393f3e07ac9362dc1f docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad166bbeb75e9cc1512286453f8e7d4f717 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360c417780f5cbd7bd69b438817a9d60be rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5f04a2cc9ebb985bd9a1aebd2068f757 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bfd78d85d6b52d5da3d89696160658450 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet directory.

  Based on MeshCollider work in pull #11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716

Backport of Core [[bitcoin/bitcoin#14291 | PR14291]]

Test Plan:
  ninja
  ninja check
  ninja check-functional
  ./bitcoind
  ./bitcoin-cli help
Verify `listwalletdir` appears in the list of `Wallet` RPCs.
  ./bitcoin-cli help listwalletdir
  ./bitcoin-cli listwalletdir
Verify new RPC help text and behavior.

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5527
jonspock added a commit to jonspock/devault that referenced this issue Sep 18, 2020
…:filesystem fixes

Summary:
d56a0689354fb814510c6c393f3e07ac9362dc1f docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad166bbeb75e9cc1512286453f8e7d4f717 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360c417780f5cbd7bd69b438817a9d60be rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5f04a2cc9ebb985bd9a1aebd2068f757 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bfd78d85d6b52d5da3d89696160658450 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet directory.

  Based on MeshCollider work in pull #11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716

Backport of Core [[bitcoin/bitcoin#14291 | PR14291]]

Test Plan:
  ninja
  ninja check
  ninja check-functional
  ./bitcoind
  ./bitcoin-cli help
Verify `listwalletdir` appears in the list of `Wallet` RPCs.
  ./bitcoin-cli help listwalletdir
  ./bitcoin-cli listwalletdir
Verify new RPC help text and behavior.

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5527
jonspock added a commit to jonspock/devault that referenced this issue Sep 21, 2020
…:filesystem fixes

Summary:
d56a0689354fb814510c6c393f3e07ac9362dc1f docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad166bbeb75e9cc1512286453f8e7d4f717 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360c417780f5cbd7bd69b438817a9d60be rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5f04a2cc9ebb985bd9a1aebd2068f757 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bfd78d85d6b52d5da3d89696160658450 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet directory.

  Based on MeshCollider work in pull #11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716

Backport of Core [[bitcoin/bitcoin#14291 | PR14291]]

Test Plan:
  ninja
  ninja check
  ninja check-functional
  ./bitcoind
  ./bitcoin-cli help
Verify `listwalletdir` appears in the list of `Wallet` RPCs.
  ./bitcoin-cli help listwalletdir
  ./bitcoin-cli listwalletdir
Verify new RPC help text and behavior.

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5527
jonspock added a commit to jonspock/devault that referenced this issue Sep 21, 2020
…:filesystem fixes

Summary:
d56a0689354fb814510c6c393f3e07ac9362dc1f docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad166bbeb75e9cc1512286453f8e7d4f717 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360c417780f5cbd7bd69b438817a9d60be rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5f04a2cc9ebb985bd9a1aebd2068f757 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bfd78d85d6b52d5da3d89696160658450 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet directory.

  Based on MeshCollider work in pull #11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716

Backport of Core [[bitcoin/bitcoin#14291 | PR14291]]

Test Plan:
  ninja
  ninja check
  ninja check-functional
  ./bitcoind
  ./bitcoin-cli help
Verify `listwalletdir` appears in the list of `Wallet` RPCs.
  ./bitcoin-cli help listwalletdir
  ./bitcoin-cli listwalletdir
Verify new RPC help text and behavior.

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5527
jonspock added a commit to jonspock/devault that referenced this issue Sep 23, 2020
…:filesystem fixes

Summary:
d56a0689354fb814510c6c393f3e07ac9362dc1f docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad166bbeb75e9cc1512286453f8e7d4f717 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360c417780f5cbd7bd69b438817a9d60be rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5f04a2cc9ebb985bd9a1aebd2068f757 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bfd78d85d6b52d5da3d89696160658450 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet directory.

  Based on MeshCollider work in pull #11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716

Backport of Core [[bitcoin/bitcoin#14291 | PR14291]]

Test Plan:
  ninja
  ninja check
  ninja check-functional
  ./bitcoind
  ./bitcoin-cli help
Verify `listwalletdir` appears in the list of `Wallet` RPCs.
  ./bitcoin-cli help listwalletdir
  ./bitcoin-cli listwalletdir
Verify new RPC help text and behavior.

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5527
jonspock added a commit to jonspock/devault that referenced this issue Sep 24, 2020
…:filesystem fixes

Summary:
d56a0689354fb814510c6c393f3e07ac9362dc1f docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad166bbeb75e9cc1512286453f8e7d4f717 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360c417780f5cbd7bd69b438817a9d60be rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5f04a2cc9ebb985bd9a1aebd2068f757 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bfd78d85d6b52d5da3d89696160658450 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet directory.

  Based on MeshCollider work in pull #11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716

Backport of Core [[bitcoin/bitcoin#14291 | PR14291]]

Test Plan:
  ninja
  ninja check
  ninja check-functional
  ./bitcoind
  ./bitcoin-cli help
Verify `listwalletdir` appears in the list of `Wallet` RPCs.
  ./bitcoin-cli help listwalletdir
  ./bitcoin-cli listwalletdir
Verify new RPC help text and behavior.

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5527
proteanx added a commit to devaultcrypto/devault that referenced this issue Sep 25, 2020
…:filesystem fixes

Summary:
d56a0689354fb814510c6c393f3e07ac9362dc1f docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad166bbeb75e9cc1512286453f8e7d4f717 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360c417780f5cbd7bd69b438817a9d60be rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5f04a2cc9ebb985bd9a1aebd2068f757 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bfd78d85d6b52d5da3d89696160658450 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet directory.

  Based on MeshCollider work in pull #11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716

Backport of Core [[bitcoin/bitcoin#14291 | PR14291]]

Test Plan:
  ninja
  ninja check
  ninja check-functional
  ./bitcoind
  ./bitcoin-cli help
Verify `listwalletdir` appears in the list of `Wallet` RPCs.
  ./bitcoin-cli help listwalletdir
  ./bitcoin-cli listwalletdir
Verify new RPC help text and behavior.

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D5527
5tefan added a commit to 5tefan/dash that referenced this issue Aug 13, 2021
d56a068 docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad qa: Add tests for listwalletdir RPC (João Barbosa)
cc33773 rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet
directory.

  Based on MeshCollider work in pull bitcoin#11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716
5tefan added a commit to 5tefan/dash that referenced this issue Aug 14, 2021
d56a068 docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad qa: Add tests for listwalletdir RPC (João Barbosa)
cc33773 rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet
directory.

  Based on MeshCollider work in pull bitcoin#11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Sep 8, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet