Upgrade from Web3Modal to Reown AppKit for Flutter

This document outlines the steps to migrate from the old web3modal_flutter package to the new reown_appkit packages in your Flutter project.

Step 1. Replace the corresponding dependency

Remove web3modal_flutter dependency from pubspec.yaml and add reown_appkit:

// Remove the code line below
web3modal_flutter: ^X.Y.Z

reown_appkit: ^1.0.0

Run flutter clean && flutter pub get after replacing the packages

Then replace the imports…

// Remove the code line below
import 'package:web3modal_flutter/web3modal_flutter.dart';

import 'package:reown_appkit/reown_appkit.dart';

Step 3. Update the main service class

See more about how to initialize on Initialization section

Step 4. Update main buttons

Step 5. Networks presets

The way we used to manipulate the network presets has changed

// Remove the code lines below
W3MChainPresets.chains.addAll(W3MChainPresets.extraChains);
W3MChainPresets.chains.addAll(W3MChainPresets.testChains);

final testNetworks = ReownAppKitModalNetworks.test['eip155'] ?? [];
final extraNetworks = ReownAppKitModalNetworks.extra['eip155'] ?? [];
ReownAppKitModalNetworks.addNetworks('eip155', testNetworks);
ReownAppKitModalNetworks.addNetworks('eip155', extraNetworks);

See more on Custom networks section

Step 4. Update your Components usage

Update your web3app instance within the service:

If you use to subscribe to web3App events you should now change it to appKit. Example:

// Remove the code line below
_w3mService.web3App!.getActiveSessions();

_appKitModal.appKit!.getActiveSessions();

Same for anything related to _w3mService.web3App!...

Step 5. Update any exception type

Final notes

  • Ensure that you have updated all relevant configurations and imports in your project to reflect the changes from Web3Modal to AppKit.
  • Test your application thoroughly to ensure that the migration has been successful and that all functionality is working as expected.
  • Check our AppKit example for Flutter to compare with your implementation in case you are having issues