several wallets open at once, and screens that do not assume one #66

Closed
opened 2026-09-16 15:22:31 +00:00 by grenade · 0 comments
Owner

Parent: #4

Why

The session holds one wallet: unlocking a second drops the first, and the sidebar, accounts, receive and send all read "the" wallet. People organise their holdings differently: a spending wallet and a savings wallet, a mining wallet apart from both, a wallet per purpose or per person. The wallet has to support that arrangement rather than force one wallet.

Scope

  • The session holds any number of unlocked wallets, each with its own signers and seed. Unlocking adds a wallet; locking can lock one wallet or all of them; the idle rule locks all.
  • Session status reports the open wallets, each with its accounts, and a flat account list where every account names its wallet.
  • The shell: a wallets list in the sidebar (each open wallet with its own lock, and a way to open another without leaving the app); "locked" means no wallet is open, and only then does the lock screen take the whole window.
  • Accounts groups accounts by wallet. Send's from, receive, history and the pending reversible list choose among the accounts of every open wallet, labelled by wallet and account name.
  • The wormhole panel is per wallet, since each wallet's seed has its own wormhole address.
  • Onboarding a new wallet while others are open adds it to what is open.

Acceptance

Open crystal_alice and a restored phrase wallet together: both appear in the sidebar and on accounts with their balances; send from an account of each; lock one and the other stays open and signs; the idle rule locks both.

Depends on

The scheme child above, since both change what an opened wallet holds.

Parent: #4 ## Why The session holds one wallet: unlocking a second drops the first, and the sidebar, accounts, receive and send all read "the" wallet. People organise their holdings differently: a spending wallet and a savings wallet, a mining wallet apart from both, a wallet per purpose or per person. The wallet has to support that arrangement rather than force one wallet. ## Scope - The session holds any number of unlocked wallets, each with its own signers and seed. Unlocking adds a wallet; locking can lock one wallet or all of them; the idle rule locks all. - Session status reports the open wallets, each with its accounts, and a flat account list where every account names its wallet. - The shell: a wallets list in the sidebar (each open wallet with its own lock, and a way to open another without leaving the app); "locked" means no wallet is open, and only then does the lock screen take the whole window. - Accounts groups accounts by wallet. Send's from, receive, history and the pending reversible list choose among the accounts of every open wallet, labelled by wallet and account name. - The wormhole panel is per wallet, since each wallet's seed has its own wormhole address. - Onboarding a new wallet while others are open adds it to what is open. ## Acceptance Open `crystal_alice` and a restored phrase wallet together: both appear in the sidebar and on accounts with their balances; send from an account of each; lock one and the other stays open and signs; the idle rule locks both. ## Depends on The scheme child above, since both change what an opened wallet holds.
grenade added the child label 2026-09-16 15:22:36 +00:00
grenade referenced this issue from a commit 2026-09-16 16:22:42 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: blackbeard/wallet#66