core: make the wallet an API, not a user-facing feature

Names commands will use the wallet; users do not. The commands move to
/_wallet, and the help section, its topic and the changelog entry are
removed. The tests drive the API end to end.

Comments cut to what the code does not say, dead exports removed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rvc3HbiWBTqbAvRT45G5oX
This commit is contained in:
Alain Brenzikofer
2026-09-09 14:00:25 +00:00
co-authored by Claude Opus 5
parent ee11b368b6
commit 70d4c128bd
11 changed files with 69 additions and 178 deletions
+1 -26
View File
@@ -14,7 +14,6 @@ module Simplex.Chat.Help
markdownInfo,
settingsInfo,
databaseHelpInfo,
walletHelpInfo,
)
where
@@ -89,7 +88,7 @@ chatHelpInfo =
green "Create your address: " <> highlight "/address",
"",
green "Other commands:",
indent <> highlight "/help <topic> " <> " - help on: " <> listHighlight ["groups", "contacts", "messages", "files", "address", "incognito", "remote", "settings", "db", "wallet"],
indent <> highlight "/help <topic> " <> " - help on: " <> listHighlight ["groups", "contacts", "messages", "files", "address", "incognito", "remote", "settings", "db"],
indent <> highlight "/profile " <> " - show / update user profile",
indent <> highlight "/delete <contact>" <> " - delete contact and all messages with them",
indent <> highlight "/chats " <> " - most recent chats",
@@ -219,30 +218,6 @@ myAddressHelpInfo =
"The commands may be abbreviated: " <> listHighlight ["/ad", "/da", "/sa", "/ac", "/rc"]
]
walletHelpInfo :: [StyledString]
walletHelpInfo =
map
styleMarkdown
[ green "Wallet commands:",
indent <> highlight "/wallet " <> " - your key, and the addresses it derives",
indent <> highlight "/wallet create " <> " - create your key, or add this profile to it",
indent <> highlight "/wallet import <phrase>" <> " - use a key you already have",
indent <> highlight "/wallet export " <> " - show your recovery phrase",
indent <> highlight "/wallet delete <word> " <> " - delete the key, confirmed by the last word of the phrase",
"",
"Please note: this is in development. You cannot buy a name yet.",
"",
"One key per device, one account per chat profile. Each name gets its own",
"key at " <> highlight "m/44'/60'/<profile>'/0/<name>" <> ". This is standard BIP-44, so your",
"phrase works in other wallets.",
"",
"The key is stored in the chat database. It is only encrypted if you set a",
"database passphrase with " <> highlight "/db encrypt" <> ", and it is included in " <> highlight "/db export" <> ".",
"",
"Anyone who has your recovery phrase controls your names. Keep it secret,",
"and keep a copy."
]
incognitoHelpInfo :: [StyledString]
incognitoHelpInfo =
map