gui: Load Base64 PSBT string from file
Some .psbt files may have the PSBT as a base64 string instead of in binary. We should be able to load those files.
This commit is contained in:
1 parent
f0a834e2f1
commit
2c3ee4c347
1 file changed
+8
@@ -215,6 +215,14 @@ void WalletFrame::gotoLoadPSBT(bool from_clipboard)
|
|||||||
}
|
}
|
||||||
std::ifstream in{filename.toLocal8Bit().data(), std::ios::binary};
|
std::ifstream in{filename.toLocal8Bit().data(), std::ios::binary};
|
||||||
data.assign(std::istream_iterator<unsigned char>{in}, {});
|
data.assign(std::istream_iterator<unsigned char>{in}, {});
|
||||||
|
|
||||||
|
// Some psbt files may be base64 strings in the file rather than binary data
|
||||||
|
std::string b64_str{data.begin(), data.end()};
|
||||||
|
b64_str.erase(b64_str.find_last_not_of(" \t\n\r\f\v") + 1); // Trim trailing whitespace
|
||||||
|
auto b64_dec = DecodeBase64(b64_str);
|
||||||
|
if (b64_dec.has_value()) {
|
||||||
|
data = b64_dec.value();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string error;
|
std::string error;
|
||||||
|
|||||||
Reference in new issue
Block a user