diff --git a/src/shared/walletDefects.js b/src/shared/walletDefects.js index eb4ed27..8238f27 100644 --- a/src/shared/walletDefects.js +++ b/src/shared/walletDefects.js @@ -36,11 +36,13 @@ const DEFECTS = { "derivation path beneath that key instead of from a master " + "key, so the addresses listed here are not the ones that key " + "produces under the standard path.", - "Signing and sending are disabled for this wallet. The addresses " + - "do descend from the extended private key you imported, so " + - "anything they hold is still reachable by software that " + - "repeats the same non-standard derivation. Check them in a " + - "block explorer before deciding what to do.", + "Signing, sending and private key export are disabled for this " + + "wallet. Anything these addresses hold can be reached outside " + + "this wallet with the extended private key you imported, if " + + "you kept a copy of it, or with the master extended private " + + "key or recovery phrase it came from, in software that " + + "repeats the same non-standard derivation. Check the " + + "addresses in a block explorer before deciding what to do.", "To see the addresses this key produces under the standard path, " + "import the master extended private key, or the recovery " + "phrase it came from, as a new wallet. Nothing here has been " + diff --git a/tests/walletDefects.test.js b/tests/walletDefects.test.js index a9fd35d..f7dec0e 100644 --- a/tests/walletDefects.test.js +++ b/tests/walletDefects.test.js @@ -153,6 +153,18 @@ describe("the explanatory copy", () => { 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 name every key the user may hold that reaches the addresses + // outside it. + test("it names the keys that reach the addresses outside this wallet", () => { + const body = defect.paragraphs.join(" "); + + expect(body).toMatch(/private key export are disabled/); + expect(body).toMatch( + /with the extended private key you imported, if you kept a copy of it, or with the master extended private key or recovery phrase it came from, in software that repeats the same non-standard derivation/, + ); + }); + test("it says the wallet is not deleted and what the user can do", () => { const body = defect.paragraphs.join(" ");