Tasks
Implement StatusBackend - a unified initialization entry point (Glue Code)
- Implement a constructor like
NewStatusBackend(cfg *Config) that:
- Creates all core modules:
Messenger, Wallet, Accounts, Profiles, Notifications, Settings, Media, Sync, etc.
- Injects dependencies between modules explicitly (e.g. pass
Accounts into Wallet).
- Registers public APIs
- Move all environment-dependent logic (e.g. DB paths, Waku fleets, push endpoints, enabled modules) into the configuration of
StatusBackend
- Untangle client-provided parameters from db-persisted
NodeConfig and Settings
- Remove any hidden initialization logic and global singletons. All services should be created explicitly through
StatusBackend
Deliverables
- A single
StatusBackend type that replaces StatusNode / GethStatusBackend
- It is created as singleton in
mobile/status.go, and all C-binding methods use it
- Go apps can instantiate it directly to configure and run Status Backend