13bool ParseHDKeypath(
const std::string& keypath_str, std::vector<uint32_t>& keypath)
15 std::stringstream ss(keypath_str);
18 while (std::getline(ss, item,
'/')) {
19 if (item.compare(
"m") == 0) {
28 size_t pos = item.find(
'\'');
29 if (pos != std::string::npos) {
31 if (pos != item.size() - 1) {
35 item = item.substr(0, item.size() - 1);
39 const auto number{ToIntegral<uint32_t>(item)};
45 keypath.push_back(path);
56 if (i >> 31)
ret += apostrophe ?
'\'' :
'h';
61std::string
WriteHDKeypath(
const std::vector<uint32_t>& keypath,
bool apostrophe)
bool ParseHDKeypath(const std::string &keypath_str, std::vector< uint32_t > &keypath)
Parse an HD keypaths like "m/7/0'/2000".
std::string FormatHDKeypath(const std::vector< uint32_t > &path, bool apostrophe)
std::string WriteHDKeypath(const std::vector< uint32_t > &keypath, bool apostrophe)
Write HD keypaths as strings.