Third slice: bridge Block 1's root seed to the Block 2 transport foundation. - SocialService: derives the secp256k1 Nostr identity from the SAME root seed the recovery QR backs up (no extra backup), exposes npub/pubkey, and opens a SocialSession = one shared connection carrying all three transports. - injector.dart: registers SocialService in get_it. Local-first — derivation is cheap + offline; no relay is contacted at startup. Replaces the old "nodeId slice of the seed is the social pubkey" placeholder; keeps the CRDT author id distinct (unifying it would rewrite authorship — a later decision). - Test: deterministic identity from the seed hex, matches commons_core, rejects malformed hex. 5 tests green; app_seeds analyzes clean (0 errors). |
||
|---|---|---|
| .. | ||
| data | ||
| db | ||
| di | ||
| domain | ||
| i18n | ||
| security | ||
| services | ||
| state | ||
| ui | ||
| app.dart | ||
| main.dart | ||