Skip to content

feat(W3MWagmi): dynamic network & SIWX selection; wallet dual link-mode domains#553

Merged
ignaciosantise merged 2 commits into
mainfrom
feat/dynamic-network-selection
Jun 25, 2026
Merged

feat(W3MWagmi): dynamic network & SIWX selection; wallet dual link-mode domains#553
ignaciosantise merged 2 commits into
mainfrom
feat/dynamic-network-selection

Conversation

@ignaciosantise

Copy link
Copy Markdown
Collaborator

Summary

W3MWagmi (dapp)

  • New "AppKit settings & networks" screen (reached from the Settings tab) to choose per chain which networks AppKit connects with (all EVM chains + Solana + Bitcoin) and to toggle SIWX (One-Click Auth).
    • Selection is persisted in a unified AppKitConfigStore (raw MMKV) and read at launch in App.tsx. createAppKit is a documented singleton, so changes apply after an app reload — leaving the screen with unsaved changes shows a non-blocking "Restart required" reminder.
    • buildNetworkConfig() in WagmiUtils.ts conditionally assembles the Wagmi/Solana/Bitcoin adapters, networks, and connectors from the selection (EVM always keeps ≥1 chain so WagmiProvider stays valid).
  • WalletInfo (Settings) now also shows the connected wallet's link mode value and the active session's transport mode (relay / link_mode).

Wallet (rn_cli_wallet)

  • Support both lab.reown.com and appkit-lab.reown.com for universal links / link mode, via Android intent-filters (extra <data android:host>) and iOS associated domains (extra applinks: entry) across all build variants.

Both apps

  • Bumped build numbers: Android versionCode and iOS CURRENT_PROJECT_VERSION (all variants).

Notes

  • The wallet's advertised redirect.universal (in src/utils/misc.ts) stays a single URL (lab.reown.com); "supporting both" is handled at the OS routing layer. Both hosts must serve valid assetlinks.json / apple-app-site-association for verified deep linking.
  • Local build artifacts (Podfile.lock checksums, RNWallet.xcscheme version) were intentionally left out of this PR.

Test plan

  • Settings → AppKit settings & networks: toggle Solana off → restart → Solana adapter/network and Phantom/Solflare connectors are gone; toggle back → they return. Toggle a single EVM chain and confirm it disappears from the network list.
  • Toggle SIWX off → restart → no One-Click-Auth prompt on connect.
  • Connect a link-mode-capable wallet → Settings shows Link mode: Supported and Transport mode: Link Mode.
  • Wallet: tap a lab.reown.com/rn_walletkit* and an appkit-lab.reown.com/rn_walletkit* link → both open the wallet.

🤖 Generated with Claude Code

…de domains

W3MWagmi:
- Add an "AppKit settings & networks" screen (from Settings) to pick, per chain,
  which networks AppKit connects with (EVM chains + Solana + Bitcoin) and to toggle
  SIWX (One-Click Auth). Selection is persisted in a unified AppKitConfigStore (MMKV)
  and read at launch in App.tsx, since createAppKit is a singleton (applied on reload).
- Show the connected wallet's link-mode value and the active session's transport
  mode (relay / link_mode) in the Settings WalletInfo section.

Wallet (rn_cli_wallet):
- Support both lab.reown.com and appkit-lab.reown.com for universal links / link mode
  via Android intent-filters and iOS associated domains.

Bump build numbers for both apps (Android versionCode + iOS CURRENT_PROJECT_VERSION).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 25, 2026 16:26
@vercel

vercel Bot commented Jun 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
deposit-app-demo Error Error Jun 25, 2026 5:05pm
pos-demo Ready Ready Preview, Comment Jun 25, 2026 5:05pm

Request Review

@claude

claude Bot commented Jun 25, 2026

Copy link
Copy Markdown

Claude finished @ignaciosantise's task in 1m 47s —— View job


PR Review in Progress

  • Gather context & read CLAUDE.md
  • Read changed files
  • Awaiting subagent results (license, breaking changes, data classification)
  • Compile review findings

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds configurable AppKit startup behavior in the W3MWagmi dapp (persisted per-network + SIWX toggle) and expands the rn_cli_wallet deep-link domains to support both lab.reown.com and appkit-lab.reown.com, alongside version/build-number bumps.

Changes:

  • Introduce a persisted AppKit launch config store (MMKV) and a new “AppKit settings & networks” screen to control enabled networks and SIWX, applied on next app launch.
  • Refactor AppKit initialization to build adapters/networks/connectors dynamically from the persisted selection.
  • Add additional universal-link / app-link domains for the wallet (iOS associated domains + Android intent-filters) and bump iOS/Android build numbers.

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
wallets/rn_cli_wallet/ios/RNWeb3Wallet/RNWeb3WalletDebug.entitlements Adds appkit-lab.reown.com to associated domains for debug builds.
wallets/rn_cli_wallet/ios/RNWeb3Wallet/RNWeb3Wallet.entitlements Adds appkit-lab.reown.com to associated domains for non-debug builds.
wallets/rn_cli_wallet/ios/RNWeb3Wallet.xcodeproj/project.pbxproj Bumps iOS build numbers (CURRENT_PROJECT_VERSION) across variants.
wallets/rn_cli_wallet/android/app/src/main/AndroidManifest.xml Adds appkit-lab.reown.com host for verified https deep links.
wallets/rn_cli_wallet/android/app/src/internal/AndroidManifest.xml Adds appkit-lab.reown.com host for internal flavor deep links.
wallets/rn_cli_wallet/android/app/src/debug/AndroidManifest.xml Adds appkit-lab.reown.com host for debug flavor deep links.
wallets/rn_cli_wallet/android/app/build.gradle Bumps Android versionCode.
dapps/W3MWagmi/src/utils/WagmiUtils.ts Adds network registry + buildNetworkConfig() to assemble adapters/networks/connectors from selection.
dapps/W3MWagmi/src/utils/TypesUtil.ts Adds NetworkSettings route to the root stack type.
dapps/W3MWagmi/src/stores/AppKitConfigStore.ts New persisted config store for enabled networks + SIWX toggle (MMKV + valtio).
dapps/W3MWagmi/src/screens/Settings/index.tsx Adds navigation entry to the new network/settings screen.
dapps/W3MWagmi/src/screens/Settings/components/WalletInfo.tsx Displays wallet link-mode support and active session transport mode.
dapps/W3MWagmi/src/screens/NetworkSettings/index.tsx New UI screen to toggle SIWX and per-network enablement, with restart reminder.
dapps/W3MWagmi/src/navigators/RootStackNavigator.tsx Registers NetworkSettings screen in the native stack.
dapps/W3MWagmi/src/App.tsx Uses buildNetworkConfig() + persisted SIWX toggle to initialize the AppKit singleton at launch.
dapps/W3MWagmi/ios/W3MWagmi.xcodeproj/project.pbxproj Bumps iOS build numbers (CURRENT_PROJECT_VERSION) across variants.
dapps/W3MWagmi/android/app/build.gradle Bumps Android versionCode.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread wallets/rn_cli_wallet/android/app/src/main/AndroidManifest.xml
Comment thread wallets/rn_cli_wallet/android/app/src/debug/AndroidManifest.xml
Comment thread wallets/rn_cli_wallet/android/app/src/internal/AndroidManifest.xml
Comment thread dapps/W3MWagmi/src/stores/AppKitConfigStore.ts
Filter stored network ids to known ALL_NETWORK_IDS, drop duplicates, and fall
back to defaults when the result is empty. Prevents unknown/duplicate ids from
being unremovable in the UI and from skewing the settings dirty-check.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@ignaciosantise ignaciosantise force-pushed the feat/dynamic-network-selection branch from bc22cea to c94d781 Compare June 25, 2026 17:05
@ignaciosantise ignaciosantise requested a review from jakubuid June 25, 2026 17:42
@ignaciosantise ignaciosantise merged commit 7275f3a into main Jun 25, 2026
7 of 10 checks passed
@ignaciosantise ignaciosantise deleted the feat/dynamic-network-selection branch June 25, 2026 17:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants