epic: desktop v1, accounts, send, receive and history #4

Open
opened 2026-09-15 12:35:11 +00:00 by grenade · 2 comments
Owner

Goal

The first usable wallet: create or import, see balances, receive (address, QR, checkphrase), send with a review screen whose contents were decoded in Rust, opt into a reversal window, cancel a pending reversible transfer, and read history. Network selection between mainnet and Heisenberg. Runs on Fedora, Windows and macOS from cargo tauri dev.

Principles

  • The review screen shows what Rust decoded from the bytes about to be signed, never what the form said. If the two disagree the send is refused.
  • Amounts are Amount strings from Rust; the webview does no arithmetic.
  • Clipboard, dialogs and the opener are the only plugins, each with a capability entry that says why.
  • Linux gets the WebKitGTK quirk shim (NVIDIA + Wayland explicit sync, DMABUF fallback) at startup, not in a FAQ.

Operator-owned decisions

  • Visual design: house style from blackbeard.observer's web UI, or a fresh identity. Default: reuse observer tokens until a mark exists.
  • Whether v1 ships the Heisenberg profile to users or dev-only. Default: user-selectable, labelled testnet.

Definition of done

A person with a fresh Fedora install and no help can install the dev build, restore a phrase from the Quantus mobile app, see the same balance, send QTC to another account with a 1-hour reversal window, cancel it, then send it for real, and see both in history. The same flow works on Windows 11 and macOS 15.

## Goal The first usable wallet: create or import, see balances, receive (address, QR, checkphrase), send with a review screen whose contents were decoded in Rust, opt into a reversal window, cancel a pending reversible transfer, and read history. Network selection between mainnet and Heisenberg. Runs on Fedora, Windows and macOS from `cargo tauri dev`. ## Principles - The review screen shows what Rust decoded from the bytes about to be signed, never what the form said. If the two disagree the send is refused. - Amounts are `Amount` strings from Rust; the webview does no arithmetic. - Clipboard, dialogs and the opener are the only plugins, each with a capability entry that says why. - Linux gets the WebKitGTK quirk shim (NVIDIA + Wayland explicit sync, DMABUF fallback) at startup, not in a FAQ. ## Operator-owned decisions - Visual design: house style from blackbeard.observer's web UI, or a fresh identity. **Default: reuse observer tokens until a mark exists.** - Whether v1 ships the Heisenberg profile to users or dev-only. **Default: user-selectable, labelled testnet.** ## Definition of done A person with a fresh Fedora install and no help can install the dev build, restore a phrase from the Quantus mobile app, see the same balance, send QTC to another account with a 1-hour reversal window, cancel it, then send it for real, and see both in history. The same flow works on Windows 11 and macOS 15.
grenade added the epic label 2026-09-15 12:38:43 +00:00
Author
Owner

Children, in dependency order: #25 (app shell) → #26 (onboarding) and #27 (accounts and receive) → #28 (send with Rust-decoded review) → #29 (pending reversible transfers); #30 (history) from #25 and #23; #31 (platform smoke) last.

Children, in dependency order: #25 (app shell) → #26 (onboarding) and #27 (accounts and receive) → #28 (send with Rust-decoded review) → #29 (pending reversible transfers); #30 (history) from #25 and #23; #31 (platform smoke) last.
Author
Owner

Added after the first install (operator feedback, 2026-09-16): #65 (no scheme choice; derive and show both ML-DSA accounts from one phrase, the one Quantus steers people to as default) → #66 (several wallets open at once; no screen assumes one). The epic stays open for these and #31.

Added after the first install (operator feedback, 2026-09-16): #65 (no scheme choice; derive and show both ML-DSA accounts from one phrase, the one Quantus steers people to as default) → #66 (several wallets open at once; no screen assumes one). The epic stays open for these and #31.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: blackbeard/wallet#4