fix(lite): keep a rejected import key out of the log and Settings
The backend's error for a key it doesn't recognize repeats the key
("'<key>' was not recognized as either a spending key or a viewing
key"). Import passed that text on as its error, so a mistyped private
key was written to the lite log (shown in the Console tab) and to the
Settings status line. A failed import now carries a fixed reason
(unrecognized format, wallet locked, key already exists, could not be
decoded, or rejected), which is all the log records. Settings shows
"Couldn't import the key — check it, unlock the wallet (if encrypted)
and try again." instead, translated in all eight languages.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -97,7 +97,8 @@ struct LiteBroadcastResult {
|
||||
std::string error;
|
||||
};
|
||||
|
||||
// importKey outcome. `detail` is the backend's (non-secret) confirmation payload.
|
||||
// importKey outcome. `detail` is the backend's (non-secret) confirmation payload. `error` is a fixed, non-secret reason,
|
||||
// never the backend's text (which can repeat the key).
|
||||
struct LiteImportResult {
|
||||
bool ok = false;
|
||||
std::string detail;
|
||||
|
||||
Reference in New Issue
Block a user