The network manager lived in internal/rpc and was constructed, started
and stopped by rpc.Client, which reached back into it to route calls by
chain. It is now a service of its own at pkg/services/networks.
StatusNode owns the manager and hands it to rpc.Client through
ClientConfig, so the client depends on ManagerInterface rather than the
concrete type. The service owns the manager lifecycle.
The four live network RPC methods are registered under the networks_
namespace. The wallet_ ones are left in place so nothing breaks before
the app migrates; they are removed at the end of the stack.
Part of the Go project layout migration, item 31.
Pure move plus import-path rewrite across 687 files. No API or behaviour
change.
The services keep their grouping under pkg/services/<name> rather than
being promoted to pkg/<name>: 27 top-level directories in pkg/ would read
worse than what we have, and the grouping is what makes "an RPC service"
identifiable at a glance.
Paths that follow the move: the logosstorage test target and generate
step, the two wallet token-list tools, the migration-order check (and the
pre-rebase hook symlinked to it), and the storage env helper.
refs #7067
Part of https://github.com/status-im/status-app/issues/21462
- Open existing app and wallet SQLCipher databases concurrently, while preserving sequential initialization for new or legacy databases.
- Speed up account selection by preloading the profile keypair and decrypting only the chat private key instead of the full extended key.
- Defer token manager startup until after login completes and run it asynchronously outside the critical startup path.
- Load cached leaderboard market data asynchronously, waiting only when the data is accessed or the service stops.
Before: about 2.15 s for the backend login request
After: about 0.47–0.50 s
Improvement: roughly 1.65–1.70 s saved
Relative reduction: about 77–78%
Speed multiplier: approximately 4.3–4.5× faster
* chore: remove Polygon zkEVM chain (#7429)
* chore: remove status l2 sepolia (#7431)
* fix(wallet-connect): advertise wallet_switchEthereumChain (#7432)
Fixes#20697
* fix(connector): EIP-5792 methods + trusted-only eth_accounts auto-share on requestPermissions (#7428)
fix(connector): partial permissions revocation
fix(connector): parallel dapp requests races
fixesstatus-im/status-app#20591
* feat(connector): ephemeral dApp records (#7435)
* feat(connector): ephemeral dapp records
refs status-im/status-app#20676
* fix: copilot comments
* chore: more descriptive logging added to router package
* feat: implemented log file rotation for new sessions
Added functionality to rotate log files when a new session starts, while the logs from previous sessions
are also kept.
* fix: puzzle-auth providers should not depend on the presence/absence of basic-auth credentials (#7437)
* fix: puzzle-auth providers should not depend on the presence/absence of basic-auth credentials
If the same network has puzzle-auth and basic-auth providers an incorrect enable flag might be used
if there is no ethrpc/status proxy credentials set.
* chore: sync balance/activity fetching (#7438)
* chore: trigger activity fetch when balance updated
* chore: trigger balance update when activity fetched
* fix(wc): reconnect broken pipe
fixesstatus-app/status-im#20767
* fix(wc): recreate ws connection on start
* fixes broken wc after restoring from the background
fixesstatus-app/status-im#20767
* fix: copilot comments
* fix: shrink tests
* fix: use WCClientGetter
* wcclient is recreated when service is paused
* fix: readability
* fix: pr comments
* fix: flaky test
* fix: push notification migration
If the latest migration ran is not present then remove it
* perf: Enrich community members and contacts with visual identity (#7430)
For each community member and contact Status needs to wire another 4 RPCs to fully resolve the members and contacts. This commit adds the necessary info in the community members and contacts response directly.
Needed for: https://github.com/status-im/status-app/issues/20228
* fix(collectibles): disable ink, katana
fixes status-im/status-app#20717
* fix(collectibles): pr comments
* feat(wallet): skip TANGYUAN and POSI tokens on BSCMainnet
Added token keys for TANGYUAN and POSI to the SkippedTokenKeys list.
Closes#20860
* perf: Interrupt stats ticker and throttle mvds on messenger.pause
The messenger needs to keep only critical infrastructure while paused.
This commit stops the stats retrieval while paused - not used. And throttles the mvds datasync to 5 minutes. This means that the ack is confirmed once every 5 minutes (as opposed to 300ms) while paused.
Message sending is also disabled in this time frame.
---------
Co-authored-by: Anthony Laibe <491074+alaibe@users.noreply.github.com>
Co-authored-by: Andrey Bocharnikov <andrey.bocharnikov@gmail.com>
Co-authored-by: Alex Jbanca <47811206+alexjba@users.noreply.github.com>
Co-authored-by: Alex Jbanca <alexjb@status.im>
- Introduced the following mainnet chains with their testnets:
- Polygon ZkEVM,
- Unichain,
- Katana,
- Ink,
- Abstract,
- ZkSync Era,
- Soneium,
- Scroll,
- Blast
Updated the code to accommodate the new chains.
- Updated go-wallet-sdk version in go.mod and go.sum.
- Improved on token manager initialization to use enabled chains from the network manager.
- Added functionality to watch for changes in active networks and update token manager accordingly.