diff --git a/CHANGELOG.md b/CHANGELOG.md index 530e34d4f8..2918374470 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,9 @@ ## Unreleased -SimpleX names MVP (in development, CLI only): +In-app name purchase MVP (in development, CLI only). Names themselves already +ship - this is about acquiring one without leaving the app, which today needs a +wallet, ETH and a browser: - Register a name for a contact address or channel from the terminal with `/name register `, via commit/reveal against the badge service so the registrar cannot front-run the name. @@ -12,7 +14,7 @@ SimpleX names MVP (in development, CLI only): BIP-44 account per chat profile, so a registered name stays owned by an address the client can still derive after restart. No signing, so edits, transfers and renewal are not possible yet. -- Design: docs/rfcs/2026-08-18-simplex-names-mvp.md +- Design: docs/rfcs/2026-08-18-in-app-name-purchase-mvp.md ## v6.5 diff --git a/docs/rfcs/2026-08-18-simplex-names-mvp.md b/docs/rfcs/2026-08-18-in-app-name-purchase-mvp.md similarity index 95% rename from docs/rfcs/2026-08-18-simplex-names-mvp.md rename to docs/rfcs/2026-08-18-in-app-name-purchase-mvp.md index 8214ba1689..a49bf7ff8d 100644 --- a/docs/rfcs/2026-08-18-simplex-names-mvp.md +++ b/docs/rfcs/2026-08-18-in-app-name-purchase-mvp.md @@ -1,6 +1,9 @@ -# SimpleX names MVP — register a name from the CLI +# In-app name purchase MVP — register a name from the CLI -The smallest PR that registers a name for an SMP address or channel from the TUI. +SimpleX names already ship: the app resolves `@name.testing` and claims a name on +a profile. What does *not* exist in the app is acquiring one — registration today +means a wallet, ETH and a browser. This is the smallest PR that moves the purchase +into the app, registering a name for an SMP address or channel from the TUI. It **targets the badges branch** and extends the existing badge service with registrar commands plus an in-memory chain mock — no new bot, no new transport. The wallet is real but read-only: generate a seed, derive the owner diff --git a/src/Simplex/Chat/Names/Protocol.hs b/src/Simplex/Chat/Names/Protocol.hs index c426b8b874..41b0c25412 100644 --- a/src/Simplex/Chat/Names/Protocol.hs +++ b/src/Simplex/Chat/Names/Protocol.hs @@ -11,10 +11,11 @@ -- per request. The envelope and both command\/response sums are @type@-tagged -- JSON objects, the same shape the badge service decodes. -- --- Registration is commit-then-reveal (see the MVP plan): 'NRCommit' publishes --- only @H(name, owner, secret, ttl)@ so the service cannot tell which name it --- is; 'NRReveal' submits the plaintext once the aged commitment already binds --- the name to /this/ owner address, so the service cannot front-run it. +-- Registration is commit-then-reveal (see +-- @docs\/rfcs\/2026-08-18-in-app-name-purchase-mvp.md@): 'NRCommit' publishes only +-- @H(name, owner, secret, ttl)@ so the service cannot tell which name it is; +-- 'NRReveal' submits the plaintext once the aged commitment already binds the +-- name to /this/ owner address, so the service cannot front-run it. module Simplex.Chat.Names.Protocol ( NamesVersion, currentNamesVersion,