1.6 KiB
1.6 KiB
| id | title | status | assignee | created_date | updated_date | labels | milestone | dependencies | parent_task_id | priority | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TASK-118.4 | Add multiplayer sync to rwallet (shared treasury view) | Done | 2026-03-16 00:05 | 2026-03-16 00:50 |
|
Multiplayer Everything | TASK-118 | medium |
Description
rwallet currently renders client-side-only wallet data from Safe Global API. Add Automerge sync for shared watchlists and treasury annotations.
New files:
modules/rwallet/schemas.ts— WalletDoc with watchedAddresses, annotations, dashboardConfigmodules/rwallet/local-first-client.ts— CRUD: addWatchAddress, setAnnotation, updateConfig
Schema:
WalletDoc {
meta: { module: 'wallet', collection: 'treasury', version: 1 }
watchedAddresses: Record<string, { address, chain, label, addedBy, addedAt }>
annotations: Record<string, { txHash, note, authorDid, createdAt }>
dashboardConfig: { defaultChain, displayCurrency, layout }
}
Component updates (folk-wallet-viewer.ts):
- Shared watchlist syncs across space members
- Transaction annotations visible to all
- Dashboard layout preferences synced
Acceptance Criteria
- #1 Watched wallet addresses sync across space members
- #2 Transaction annotations visible to all space members
- #3 Dashboard config shared (chain, currency, layout)
- #4 Demo mode works with local-only state
Implementation Notes
schemas.ts + local-first-client.ts created