fix: the defective xprv wallet notice says the user needs their own copy of the key (closes #255)
The notice told the user that these addresses are reachable by software that repeats the same derivation, while the same wallet blocks Export Private Key, so there was no way to take that route from here. The second paragraph now names private key export among the disabled controls and says the addresses can be reached only with the extended private key the user imported, if they kept a copy of it. No behaviour changes. A test checks the new wording. Model: opus-5-5
This commit is contained in:
@@ -36,11 +36,12 @@ const DEFECTS = {
|
|||||||
"derivation path beneath that key instead of from a master " +
|
"derivation path beneath that key instead of from a master " +
|
||||||
"key, so the addresses listed here are not the ones that key " +
|
"key, so the addresses listed here are not the ones that key " +
|
||||||
"produces under the standard path.",
|
"produces under the standard path.",
|
||||||
"Signing and sending are disabled for this wallet. The addresses " +
|
"Signing, sending and private key export are disabled for this " +
|
||||||
"do descend from the extended private key you imported, so " +
|
"wallet. Anything these addresses hold can be reached only " +
|
||||||
"anything they hold is still reachable by software that " +
|
"with the extended private key you imported, if you kept a " +
|
||||||
"repeats the same non-standard derivation. Check them in a " +
|
"copy of it, in software that repeats the same non-standard " +
|
||||||
"block explorer before deciding what to do.",
|
"derivation. Check the addresses in a block explorer before " +
|
||||||
|
"deciding what to do.",
|
||||||
"To see the addresses this key produces under the standard path, " +
|
"To see the addresses this key produces under the standard path, " +
|
||||||
"import the master extended private key, or the recovery " +
|
"import the master extended private key, or the recovery " +
|
||||||
"phrase it came from, as a new wallet. Nothing here has been " +
|
"phrase it came from, as a new wallet. Nothing here has been " +
|
||||||
|
|||||||
@@ -153,6 +153,18 @@ describe("the explanatory copy", () => {
|
|||||||
expect(all).not.toMatch(/\blost\b|\bstolen\b|\bgone\b/i);
|
expect(all).not.toMatch(/\blost\b|\bstolen\b|\bgone\b/i);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// The wallet holds the imported key but will not export it, so the copy
|
||||||
|
// must not send the user to other software without saying they need
|
||||||
|
// their own copy of that key.
|
||||||
|
test("it says only the user's own copy of the imported key reaches the addresses", () => {
|
||||||
|
const body = defect.paragraphs.join(" ");
|
||||||
|
|
||||||
|
expect(body).toMatch(/private key export are disabled/);
|
||||||
|
expect(body).toMatch(
|
||||||
|
/only with the extended private key you imported, if you kept a copy of it/,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
test("it says the wallet is not deleted and what the user can do", () => {
|
test("it says the wallet is not deleted and what the user can do", () => {
|
||||||
const body = defect.paragraphs.join(" ");
|
const body = defect.paragraphs.join(" ");
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user