From 4ef0cb9e961b7cc98dea141a81dfa093791dd0ca Mon Sep 17 00:00:00 2001 From: Devin Dynamic Date: Wed, 13 May 2026 10:50:52 +0000 Subject: [PATCH 01/12] chore: bump dynamic_sdk and dynamic_sdk_web3dart to ^1.3.5 The current dependencies pinned the alpha series (^0.0.1-alpha.4), which predates the public 1.x line on pub.dev. Bump both packages to the latest stable 1.3.5 so the example app exercises the same SDK surface that consumers install today, including Bitcoin / TON / SUI support. Also set the now-required `appOrigin` field on `ClientProps`, which became mandatory in dynamic_sdk 1.3.5. --- lib/main.dart | 1 + pubspec.yaml | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 9b4fe87..cab0186 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -15,6 +15,7 @@ void main() { environmentId: '0322a696-4207-48c6-9ed4-ffb0aa896090', appLogoUrl: 'https://demo.dynamic.xyz/favicon-32x32.png', appName: 'Dynamic Demo', + appOrigin: 'https://demo.dynamic.xyz', redirectUrl: "flutterdemo://", ), ); diff --git a/pubspec.yaml b/pubspec.yaml index 4e9b1e2..c411181 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,8 +34,8 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.8 - dynamic_sdk: ^0.0.1-alpha.4 - dynamic_sdk_web3dart: ^0.0.1-alpha.4 + dynamic_sdk: ^1.3.5 + dynamic_sdk_web3dart: ^1.3.5 go_router: ^16.2.0 dev_dependencies: From 5fe73effc61f4c405834f1240dddc4b349dec5f5 Mon Sep 17 00:00:00 2001 From: Devin Dynamic Date: Fri, 22 May 2026 09:07:54 +0000 Subject: [PATCH 02/12] chore: bump dynamic_sdk to ^1.3.6 (latest release) Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- pubspec.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pubspec.yaml b/pubspec.yaml index c411181..38ca885 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,8 +34,8 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.8 - dynamic_sdk: ^1.3.5 - dynamic_sdk_web3dart: ^1.3.5 + dynamic_sdk: ^1.3.6 + dynamic_sdk_web3dart: ^1.3.6 go_router: ^16.2.0 dev_dependencies: From fa37d969097ceed9cec9caf8497de6851c1b789f Mon Sep 17 00:00:00 2001 From: Devin Dynamic Date: Wed, 27 May 2026 09:08:55 +0000 Subject: [PATCH 03/12] chore: pin dynamic_sdk to ^1.3.5 (current pub.dev latest) v1.3.6 has not yet been published to pub.dev (latest published is v1.3.5 from 2026-04-30). Bumping back from ^1.3.6 to ^1.3.5 so the example app resolves cleanly. Once v1.3.6 is published on pub.dev, follow up with another bump. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- pubspec.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pubspec.yaml b/pubspec.yaml index 38ca885..c411181 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,8 +34,8 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.8 - dynamic_sdk: ^1.3.6 - dynamic_sdk_web3dart: ^1.3.6 + dynamic_sdk: ^1.3.5 + dynamic_sdk_web3dart: ^1.3.5 go_router: ^16.2.0 dev_dependencies: From 84f284ce62833050770939e4d7e73f0c575f918e Mon Sep 17 00:00:00 2001 From: Devin Dynamic Date: Mon, 1 Jun 2026 09:33:35 +0000 Subject: [PATCH 04/12] chore: bump dynamic_sdk and dynamic_sdk_web3dart to ^1.4.0 v1.4.0 is now the latest published release on pub.dev (released 2026-05-29), superseding the previously pinned ^1.3.5. Regenerated pubspec.lock and the macOS/Windows generated plugin registrants via flutter pub get. --- macos/Flutter/GeneratedPluginRegistrant.swift | 16 +- pubspec.lock | 242 ++++++++++++++++-- pubspec.yaml | 4 +- .../flutter/generated_plugin_registrant.cc | 6 + windows/flutter/generated_plugins.cmake | 2 + 5 files changed, 245 insertions(+), 25 deletions(-) diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 4d70014..780f706 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -6,18 +6,30 @@ import FlutterMacOS import Foundation import desktop_webview_window -import flutter_secure_storage_macos +import device_info_plus +import file_picker +import flutter_secure_storage_darwin import flutter_web_auth_2 +import package_info_plus +import passkeys_darwin import path_provider_foundation +import share_plus +import ua_client_hints import url_launcher_macos import webview_flutter_wkwebview import window_to_front func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { DesktopWebviewWindowPlugin.register(with: registry.registrar(forPlugin: "DesktopWebviewWindowPlugin")) - FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin")) + DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin")) + FilePickerPlugin.register(with: registry.registrar(forPlugin: "FilePickerPlugin")) + FlutterSecureStorageDarwinPlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStorageDarwinPlugin")) FlutterWebAuth2Plugin.register(with: registry.registrar(forPlugin: "FlutterWebAuth2Plugin")) + FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) + PasskeysPlugin.register(with: registry.registrar(forPlugin: "PasskeysPlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) + SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin")) + UAClientHintsPlugin.register(with: registry.registrar(forPlugin: "UAClientHintsPlugin")) UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) WebViewFlutterPlugin.register(with: registry.registrar(forPlugin: "WebViewFlutterPlugin")) WindowToFrontPlugin.register(with: registry.registrar(forPlugin: "WindowToFrontPlugin")) diff --git a/pubspec.lock b/pubspec.lock index 079ae21..5223b62 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1,6 +1,14 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: + args: + dependency: transitive + description: + name: args + sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04 + url: "https://pub.dev" + source: hosted + version: "2.7.0" async: dependency: transitive description: @@ -49,6 +57,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.1.2" + cross_file: + dependency: transitive + description: + name: cross_file + sha256: "28bb3ae56f117b5aec029d702a90f57d285cd975c3c5c281eaca38dbc47c5937" + url: "https://pub.dev" + source: hosted + version: "0.3.5+2" crypto: dependency: transitive description: @@ -65,6 +81,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.8" + dbus: + dependency: transitive + description: + name: dbus + sha256: d0c98dcd4f5169878b6cf8f6e0a52403a9dff371a3e2f019697accbf6f44a270 + url: "https://pub.dev" + source: hosted + version: "0.7.12" desktop_webview_window: dependency: transitive description: @@ -73,22 +97,38 @@ packages: url: "https://pub.dev" source: hosted version: "0.2.3" + device_info_plus: + dependency: transitive + description: + name: device_info_plus + sha256: b4fed1b2835da9d670d7bed7db79ae2a94b0f5ad6312268158a9b5479abbacdd + url: "https://pub.dev" + source: hosted + version: "12.4.0" + device_info_plus_platform_interface: + dependency: transitive + description: + name: device_info_plus_platform_interface + sha256: e1ea89119e34903dca74b883d0dd78eb762814f97fb6c76f35e9ff74d261a18f + url: "https://pub.dev" + source: hosted + version: "7.0.3" dynamic_sdk: dependency: "direct main" description: name: dynamic_sdk - sha256: e89366edf7f71d86508cc655ec366ba199a6c9aac97fa3234ba5287259d89ceb + sha256: ca45b9f8704ce3c5dea4ead35160597aa7f47b82da81a04f99669c2362ce3213 url: "https://pub.dev" source: hosted - version: "0.0.1-alpha.4" + version: "1.4.0" dynamic_sdk_web3dart: dependency: "direct main" description: name: dynamic_sdk_web3dart - sha256: c3f0beee856e56251e560cb977b73d9a4b393514b0cf0a95da922bea70470dd4 + sha256: "721e58b5cdf5bcb7dfe2c3ae6ed415770e7c9a98c9a6925f0e9f7222a49e5a2a" url: "https://pub.dev" source: hosted - version: "0.0.1-alpha.4" + version: "1.4.0" eip1559: dependency: transitive description: @@ -121,6 +161,22 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + file: + dependency: transitive + description: + name: file + sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 + url: "https://pub.dev" + source: hosted + version: "7.0.1" + file_picker: + dependency: transitive + description: + name: file_picker + sha256: "57d9a1dd5063f85fa3107fb42d1faffda52fdc948cefd5fe5ea85267a5fc7343" + url: "https://pub.dev" + source: hosted + version: "10.3.10" fixnum: dependency: transitive description: @@ -142,54 +198,62 @@ packages: url: "https://pub.dev" source: hosted version: "5.0.0" + flutter_plugin_android_lifecycle: + dependency: transitive + description: + name: flutter_plugin_android_lifecycle + sha256: "38d1c268de9097ff59cf0e844ac38759fc78f76836d37edad06fa21e182055a0" + url: "https://pub.dev" + source: hosted + version: "2.0.34" flutter_secure_storage: dependency: transitive description: name: flutter_secure_storage - sha256: "9cad52d75ebc511adfae3d447d5d13da15a55a92c9410e50f67335b6d21d16ea" + sha256: "7686b1d6a29985dcbb808c59518226e603e3bfa7c0ddfd1a0d00e4cda77c868e" url: "https://pub.dev" source: hosted - version: "9.2.4" - flutter_secure_storage_linux: + version: "10.3.1" + flutter_secure_storage_darwin: dependency: transitive description: - name: flutter_secure_storage_linux - sha256: be76c1d24a97d0b98f8b54bce6b481a380a6590df992d0098f868ad54dc8f688 + name: flutter_secure_storage_darwin + sha256: "82329fa5cdf343773b1b6897dea959105a29f092454259edff92f9f6637e8149" url: "https://pub.dev" source: hosted - version: "1.2.3" - flutter_secure_storage_macos: + version: "0.3.2" + flutter_secure_storage_linux: dependency: transitive description: - name: flutter_secure_storage_macos - sha256: "6c0a2795a2d1de26ae202a0d78527d163f4acbb11cde4c75c670f3a0fc064247" + name: flutter_secure_storage_linux + sha256: a5f35ddab43cf5c8215d2feb4ce1957851f28c5c37e6f04335066a0602087bf5 url: "https://pub.dev" source: hosted - version: "3.1.3" + version: "3.0.1" flutter_secure_storage_platform_interface: dependency: transitive description: name: flutter_secure_storage_platform_interface - sha256: cf91ad32ce5adef6fba4d736a542baca9daf3beac4db2d04be350b87f69ac4a8 + sha256: "8ceea1223bee3c6ac1a22dabd8feefc550e4729b3675de4b5900f55afcb435d6" url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "2.0.1" flutter_secure_storage_web: dependency: transitive description: name: flutter_secure_storage_web - sha256: f4ebff989b4f07b2656fb16b47852c0aab9fed9b4ec1c70103368337bc1886a9 + sha256: "073a62b3aeb866ab4ce795f960413948e51e5a42a9b0c8333b6daf5bb3208a1c" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "2.1.1" flutter_secure_storage_windows: dependency: transitive description: name: flutter_secure_storage_windows - sha256: b20b07cb5ed4ed74fc567b78a72936203f587eba460af1df11281c9326cd3709 + sha256: "3b7c8e068875dfd46719ff57c90d8c459c87f2302ed6b00ff006b3c9fcad1613" url: "https://pub.dev" source: hosted - version: "3.1.2" + version: "4.1.0" flutter_test: dependency: "direct dev" description: flutter @@ -336,6 +400,94 @@ packages: url: "https://pub.dev" source: hosted version: "1.16.0" + mime: + dependency: transitive + description: + name: mime + sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" + url: "https://pub.dev" + source: hosted + version: "2.0.0" + package_info_plus: + dependency: transitive + description: + name: package_info_plus + sha256: "468c26b4254ab01979fa5e4a98cb343ea3631b9acee6f21028997419a80e1a20" + url: "https://pub.dev" + source: hosted + version: "9.0.1" + package_info_plus_platform_interface: + dependency: transitive + description: + name: package_info_plus_platform_interface + sha256: "202a487f08836a592a6bd4f901ac69b3a8f146af552bbd14407b6b41e1c3f086" + url: "https://pub.dev" + source: hosted + version: "3.2.1" + passkeys: + dependency: transitive + description: + name: passkeys + sha256: "88e7e67aef731dd0e25dd321c98cd421d3d3b188c885ec18a50d2532f779ef0f" + url: "https://pub.dev" + source: hosted + version: "2.19.0" + passkeys_android: + dependency: transitive + description: + name: passkeys_android + sha256: "4286322398df7cc74b7503e9d638fab7885e56986689a2f683731da473f23f85" + url: "https://pub.dev" + source: hosted + version: "2.12.0" + passkeys_darwin: + dependency: transitive + description: + name: passkeys_darwin + sha256: "3a9008714d392af79d93f5a657fa93b76edea515e2cf71e25da3567aec663ae7" + url: "https://pub.dev" + source: hosted + version: "0.4.0" + passkeys_doctor: + dependency: transitive + description: + name: passkeys_doctor + sha256: e99dda3ad634961d10cea491c726d9e971bf2513b668a8c4201f80d89a587649 + url: "https://pub.dev" + source: hosted + version: "1.3.1" + passkeys_ios: + dependency: transitive + description: + name: passkeys_ios + sha256: "5c1423c3ce6c76ff181538e3bc1f66b5eaf9bc6f2d372dc85694f11a54e58d3f" + url: "https://pub.dev" + source: hosted + version: "2.9.0" + passkeys_platform_interface: + dependency: transitive + description: + name: passkeys_platform_interface + sha256: "10fd4dd6779f6ca928adc2289e05ce0877250e68f2cc584abd2e3fcd6952e454" + url: "https://pub.dev" + source: hosted + version: "2.6.0" + passkeys_web: + dependency: transitive + description: + name: passkeys_web + sha256: "46fd7ad94ac8774e08723fca38b6f4211219d8c38b4282230f32bbc4921bdbe0" + url: "https://pub.dev" + source: hosted + version: "2.8.1" + passkeys_windows: + dependency: transitive + description: + name: passkeys_windows + sha256: acea5ff790a8c6de0366d1b87dd591c0d6e6770bf17d62efbd9fac7747724cc7 + url: "https://pub.dev" + source: hosted + version: "0.1.1" path: dependency: transitive description: @@ -392,6 +544,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.3.0" + petitparser: + dependency: transitive + description: + name: petitparser + sha256: "91bd59303e9f769f108f8df05e371341b15d59e995e6806aefab827b58336675" + url: "https://pub.dev" + source: hosted + version: "7.0.2" platform: dependency: transitive description: @@ -432,6 +592,22 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.0" + share_plus: + dependency: transitive + description: + name: share_plus + sha256: "223873d106614442ea6f20db5a038685cc5b32a2fba81cdecaefbbae0523f7fa" + url: "https://pub.dev" + source: hosted + version: "12.0.2" + share_plus_platform_interface: + dependency: transitive + description: + name: share_plus_platform_interface + sha256: "88023e53a13429bd65d8e85e11a9b484f49d4c190abbd96c7932b74d6927cc9a" + url: "https://pub.dev" + source: hosted + version: "6.1.0" sky_engine: dependency: transitive description: flutter @@ -509,6 +685,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.4.0" + ua_client_hints: + dependency: transitive + description: + name: ua_client_hints + sha256: e6e302bb7c21d6a90023db61e0ec413f0810ce341bb7e2ab447ff5d61ec3d87e + url: "https://pub.dev" + source: hosted + version: "1.7.0" url_launcher: dependency: transitive description: @@ -661,6 +845,14 @@ packages: url: "https://pub.dev" source: hosted version: "5.14.0" + win32_registry: + dependency: transitive + description: + name: win32_registry + sha256: "6f1b564492d0147b330dd794fee8f512cec4977957f310f9951b5f9d83618dae" + url: "https://pub.dev" + source: hosted + version: "2.1.0" window_to_front: dependency: transitive description: @@ -677,6 +869,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.0" + xml: + dependency: transitive + description: + name: xml + sha256: "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025" + url: "https://pub.dev" + source: hosted + version: "6.6.1" sdks: dart: ">=3.9.0 <4.0.0" - flutter: ">=3.29.0" + flutter: ">=3.35.0" diff --git a/pubspec.yaml b/pubspec.yaml index c411181..ab82783 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,8 +34,8 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.8 - dynamic_sdk: ^1.3.5 - dynamic_sdk_web3dart: ^1.3.5 + dynamic_sdk: ^1.4.0 + dynamic_sdk_web3dart: ^1.4.0 go_router: ^16.2.0 dev_dependencies: diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index 66aef1d..0288930 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -8,6 +8,8 @@ #include #include +#include +#include #include #include @@ -16,6 +18,10 @@ void RegisterPlugins(flutter::PluginRegistry* registry) { registry->GetRegistrarForPlugin("DesktopWebviewWindowPlugin")); FlutterSecureStorageWindowsPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("FlutterSecureStorageWindowsPlugin")); + PasskeysWindowsPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("PasskeysWindowsPlugin")); + SharePlusWindowsPluginCApiRegisterWithRegistrar( + registry->GetRegistrarForPlugin("SharePlusWindowsPluginCApi")); UrlLauncherWindowsRegisterWithRegistrar( registry->GetRegistrarForPlugin("UrlLauncherWindows")); WindowToFrontPluginRegisterWithRegistrar( diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index 59e47fd..6800829 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -5,6 +5,8 @@ list(APPEND FLUTTER_PLUGIN_LIST desktop_webview_window flutter_secure_storage_windows + passkeys_windows + share_plus url_launcher_windows window_to_front ) From 97c709275a8532ee9898fbf4ce5ce9b0b4d76bda Mon Sep 17 00:00:00 2001 From: Devin Dynamic Date: Wed, 10 Jun 2026 09:11:11 +0000 Subject: [PATCH 05/12] chore: bump dynamic_sdk and dynamic_sdk_web3dart to ^1.5.0 --- pubspec.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pubspec.yaml b/pubspec.yaml index ab82783..32ae64e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,8 +34,8 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.8 - dynamic_sdk: ^1.4.0 - dynamic_sdk_web3dart: ^1.4.0 + dynamic_sdk: ^1.5.0 + dynamic_sdk_web3dart: ^1.5.0 go_router: ^16.2.0 dev_dependencies: From 002e81a3a99b6fb8b62bcf8a23df189251449256 Mon Sep 17 00:00:00 2001 From: Devin Dynamic Date: Wed, 24 Jun 2026 09:09:26 +0000 Subject: [PATCH 06/12] chore: bump dynamic_sdk and dynamic_sdk_web3dart to ^1.6.0 --- pubspec.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pubspec.yaml b/pubspec.yaml index 32ae64e..8fd6b55 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,8 +34,8 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.8 - dynamic_sdk: ^1.5.0 - dynamic_sdk_web3dart: ^1.5.0 + dynamic_sdk: ^1.6.0 + dynamic_sdk_web3dart: ^1.6.0 go_router: ^16.2.0 dev_dependencies: From aed9d5b90f5317c36781498269fb62453ee610fe Mon Sep 17 00:00:00 2001 From: Devin Dynamic Date: Fri, 26 Jun 2026 09:30:33 +0000 Subject: [PATCH 07/12] fix: regenerate pubspec.lock to resolve dynamic_sdk 1.6.0 --- pubspec.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 5223b62..9c12f46 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -29,10 +29,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" clock: dependency: transitive description: @@ -117,18 +117,18 @@ packages: dependency: "direct main" description: name: dynamic_sdk - sha256: ca45b9f8704ce3c5dea4ead35160597aa7f47b82da81a04f99669c2362ce3213 + sha256: "913fbd95ab0aaeac4a99f427582aae246e5c7014e888b8a83ae417b2d8a9b601" url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.6.0" dynamic_sdk_web3dart: dependency: "direct main" description: name: dynamic_sdk_web3dart - sha256: "721e58b5cdf5bcb7dfe2c3ae6ed415770e7c9a98c9a6925f0e9f7222a49e5a2a" + sha256: bbe0619bd05f73d6e140b4cc69a5312f2a19c3f4a52f5ac915ef5c7bb5316e7a url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.6.0" eip1559: dependency: transitive description: @@ -380,26 +380,26 @@ packages: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.19" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" meta: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "1741988757a65eb6b36abe716829688cf01910bbf91c34354ff7ec1c3de2b349" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.18.0" mime: dependency: transitive description: @@ -673,10 +673,10 @@ packages: dependency: transitive description: name: test_api - sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00" + sha256: "949a932224383300f01be9221c39180316445ecb8e7547f70a41a35bf421fb9e" url: "https://pub.dev" source: hosted - version: "0.7.6" + version: "0.7.11" typed_data: dependency: transitive description: @@ -878,5 +878,5 @@ packages: source: hosted version: "6.6.1" sdks: - dart: ">=3.9.0 <4.0.0" + dart: ">=3.10.0-0 <4.0.0" flutter: ">=3.35.0" From a8bc2b73468969ca48826c9f5444a1cbf72298a1 Mon Sep 17 00:00:00 2001 From: Devin Dynamic Date: Wed, 1 Jul 2026 09:08:49 +0000 Subject: [PATCH 08/12] chore: bump dynamic_sdk and dynamic_sdk_web3dart to ^1.7.0 --- pubspec.lock | 8 ++++---- pubspec.yaml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 9c12f46..6abce46 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -117,18 +117,18 @@ packages: dependency: "direct main" description: name: dynamic_sdk - sha256: "913fbd95ab0aaeac4a99f427582aae246e5c7014e888b8a83ae417b2d8a9b601" + sha256: "3a2892b521d40dd6301f37b0f0c9f75ef8348b1b6a0bf3e4aafbce1bc2eb0195" url: "https://pub.dev" source: hosted - version: "1.6.0" + version: "1.7.0" dynamic_sdk_web3dart: dependency: "direct main" description: name: dynamic_sdk_web3dart - sha256: bbe0619bd05f73d6e140b4cc69a5312f2a19c3f4a52f5ac915ef5c7bb5316e7a + sha256: e13d5ab513245a9104a3ce06e63a7e4f8cbec6079013b9be6510eff93ecdc487 url: "https://pub.dev" source: hosted - version: "1.6.0" + version: "1.7.0" eip1559: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 8fd6b55..09c1c7d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,8 +34,8 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.8 - dynamic_sdk: ^1.6.0 - dynamic_sdk_web3dart: ^1.6.0 + dynamic_sdk: ^1.7.0 + dynamic_sdk_web3dart: ^1.7.0 go_router: ^16.2.0 dev_dependencies: From 28b6fec8b39b9b9e9314ed5beee96c1e6e39d47b Mon Sep 17 00:00:00 2001 From: Devin Dynamic Date: Fri, 3 Jul 2026 09:10:53 +0000 Subject: [PATCH 09/12] chore: bump dynamic_sdk + dynamic_sdk_web3dart to ^1.8.0 --- pubspec.lock | 8 ++++---- pubspec.yaml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 6abce46..3768839 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -117,18 +117,18 @@ packages: dependency: "direct main" description: name: dynamic_sdk - sha256: "3a2892b521d40dd6301f37b0f0c9f75ef8348b1b6a0bf3e4aafbce1bc2eb0195" + sha256: "1d81dad5f5ab28313d125c2bc98bc605c2a76589be390383558c2f6ebb6b8c0c" url: "https://pub.dev" source: hosted - version: "1.7.0" + version: "1.8.0" dynamic_sdk_web3dart: dependency: "direct main" description: name: dynamic_sdk_web3dart - sha256: e13d5ab513245a9104a3ce06e63a7e4f8cbec6079013b9be6510eff93ecdc487 + sha256: "26c9080aaffeee59505d39978beada8b76812553f1c4b918231390fcbe911f7d" url: "https://pub.dev" source: hosted - version: "1.7.0" + version: "1.8.0" eip1559: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 09c1c7d..49a439e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,8 +34,8 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.8 - dynamic_sdk: ^1.7.0 - dynamic_sdk_web3dart: ^1.7.0 + dynamic_sdk: ^1.8.0 + dynamic_sdk_web3dart: ^1.8.0 go_router: ^16.2.0 dev_dependencies: From 54e936aeca6dc5f6844de8977d9472d06aa25435 Mon Sep 17 00:00:00 2001 From: Devin Dynamic Date: Mon, 6 Jul 2026 09:09:16 +0000 Subject: [PATCH 10/12] chore: bump dynamic_sdk + dynamic_sdk_web3dart to ^1.9.0 --- pubspec.lock | 8 ++++---- pubspec.yaml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 3768839..a6a6c2b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -117,18 +117,18 @@ packages: dependency: "direct main" description: name: dynamic_sdk - sha256: "1d81dad5f5ab28313d125c2bc98bc605c2a76589be390383558c2f6ebb6b8c0c" + sha256: dc1870a6afc6ca766c4eda8ff67fbf513fb568e4a28799b9744c4845bdbcdb5d url: "https://pub.dev" source: hosted - version: "1.8.0" + version: "1.9.0" dynamic_sdk_web3dart: dependency: "direct main" description: name: dynamic_sdk_web3dart - sha256: "26c9080aaffeee59505d39978beada8b76812553f1c4b918231390fcbe911f7d" + sha256: "67e74e46500debe0463edbc2cddf5ef2b304d66c6af153c27320d47d3b0c2cb6" url: "https://pub.dev" source: hosted - version: "1.8.0" + version: "1.9.0" eip1559: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 49a439e..8350c7b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,8 +34,8 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.8 - dynamic_sdk: ^1.8.0 - dynamic_sdk_web3dart: ^1.8.0 + dynamic_sdk: ^1.9.0 + dynamic_sdk_web3dart: ^1.9.0 go_router: ^16.2.0 dev_dependencies: From 30e50dbdcc1fb8685f189606c14646364490c1a4 Mon Sep 17 00:00:00 2001 From: Devin Dynamic Date: Mon, 13 Jul 2026 10:19:59 +0000 Subject: [PATCH 11/12] chore: update Flutter SDK demo to 1.11.0 --- lib/views/home_view.dart | 30 ++++++++++++-------- lib/views/wallet_view.dart | 30 ++++++++++++++------ pubspec.lock | 32 ++++++++++----------- pubspec.yaml | 5 ++-- test/widget_test.dart | 57 ++++++++++++++++++++++++-------------- 5 files changed, 95 insertions(+), 59 deletions(-) diff --git a/lib/views/home_view.dart b/lib/views/home_view.dart index 7eb9038..d36da33 100644 --- a/lib/views/home_view.dart +++ b/lib/views/home_view.dart @@ -125,9 +125,7 @@ class HomeView extends StatelessWidget { return Column( children: wallets - .map( - (wallet) => _buildWalletCard(context, wallet), - ) + .map((wallet) => WalletCard(wallet: wallet)) .toList(), ); }, @@ -173,8 +171,18 @@ class HomeView extends StatelessWidget { ], ); } +} + +class WalletCard extends StatelessWidget { + final BaseWallet wallet; + + const WalletCard({super.key, required this.wallet}); + + @override + Widget build(BuildContext context) { + final isAuthenticated = wallet.isAuthenticated ?? false; + final additionalAddresses = wallet.additionalAddresses ?? const []; - Widget _buildWalletCard(BuildContext context, BaseWallet wallet) { return Container( margin: const EdgeInsets.only(bottom: 12), padding: const EdgeInsets.all(12), @@ -207,7 +215,7 @@ class HomeView extends StatelessWidget { Container( padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4), decoration: BoxDecoration( - color: Colors.blue.withOpacity(0.1), + color: Colors.blue.withValues(alpha: 0.1), borderRadius: BorderRadius.circular(12), ), child: Text( @@ -245,25 +253,25 @@ class HomeView extends StatelessWidget { Row( children: [ Icon( - wallet.isAuthenticated ? Icons.verified : Icons.warning, - color: wallet.isAuthenticated ? Colors.green : Colors.orange, + isAuthenticated ? Icons.verified : Icons.warning, + color: isAuthenticated ? Colors.green : Colors.orange, size: 16, ), const SizedBox(width: 4), Text( - wallet.isAuthenticated ? 'Authenticated' : 'Not Authenticated', + isAuthenticated ? 'Authenticated' : 'Not Authenticated', style: TextStyle( - color: wallet.isAuthenticated ? Colors.green : Colors.orange, + color: isAuthenticated ? Colors.green : Colors.orange, fontSize: 12, fontWeight: FontWeight.w500, ), ), ], ), - if (wallet.additionalAddresses.isNotEmpty) ...[ + if (additionalAddresses.isNotEmpty) ...[ const SizedBox(height: 8), Text( - 'Additional Addresses: ${wallet.additionalAddresses.length}', + 'Additional Addresses: ${additionalAddresses.length}', style: const TextStyle( color: Colors.grey, fontSize: 12, diff --git a/lib/views/wallet_view.dart b/lib/views/wallet_view.dart index e217281..636ad54 100644 --- a/lib/views/wallet_view.dart +++ b/lib/views/wallet_view.dart @@ -41,18 +41,23 @@ class _WalletViewState extends State { }); try { final bal = await DynamicSDK.instance.wallets.getBalance(wallet: wallet); + if (!mounted) return; + setState(() { _balance = bal; }); } catch (e) { + if (!mounted) return; + setState(() { _error = e.toString(); }); } finally { - if (!mounted) return; - setState(() { - _loadingBalance = false; - }); + if (mounted) { + setState(() { + _loadingBalance = false; + }); + } } } @@ -201,6 +206,8 @@ class _WalletViewState extends State { final transactionHash = await DynamicSDK.instance.web3dart .sendTransaction(transaction: transaction, wallet: wallet); + if (!mounted) return; + setState(() { _lastTxHash = transactionHash; }); @@ -209,6 +216,8 @@ class _WalletViewState extends State { const SnackBar(content: Text('Mint transaction submitted')), ); } catch (e) { + if (!mounted) return; + setState(() { _error = e.toString(); }); @@ -216,10 +225,11 @@ class _WalletViewState extends State { context, ).showSnackBar(SnackBar(content: Text('Mint failed: $e'))); } finally { - if (!mounted) return; - setState(() { - _busy = false; - }); + if (mounted) { + setState(() { + _busy = false; + }); + } } } @@ -413,7 +423,7 @@ class _WalletHeader extends StatelessWidget { Container( padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4), decoration: BoxDecoration( - color: Colors.blue.withOpacity(0.1), + color: Colors.blue.withValues(alpha: 0.1), borderRadius: BorderRadius.circular(12), ), child: Text( @@ -430,6 +440,8 @@ class _WalletHeader extends StatelessWidget { tooltip: 'Copy address', onPressed: () async { await Clipboard.setData(ClipboardData(text: wallet.address)); + if (!context.mounted) return; + ScaffoldMessenger.of(context).showSnackBar( const SnackBar( content: Text('Address copied to clipboard'), diff --git a/pubspec.lock b/pubspec.lock index a6a6c2b..c1c3b6b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -29,10 +29,10 @@ packages: dependency: transitive description: name: characters - sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 url: "https://pub.dev" source: hosted - version: "1.4.1" + version: "1.4.0" clock: dependency: transitive description: @@ -117,18 +117,18 @@ packages: dependency: "direct main" description: name: dynamic_sdk - sha256: dc1870a6afc6ca766c4eda8ff67fbf513fb568e4a28799b9744c4845bdbcdb5d + sha256: "9c4fb85432a5bd5cadaba55c796e9a3200a9abb491feb4df34480b91631eeeeb" url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.11.0" dynamic_sdk_web3dart: dependency: "direct main" description: name: dynamic_sdk_web3dart - sha256: "67e74e46500debe0463edbc2cddf5ef2b304d66c6af153c27320d47d3b0c2cb6" + sha256: cf41215d4efa4e1994130db5853bf41fa8ff0ecc9da5ff46a6f09b7a2389959c url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.11.0" eip1559: dependency: transitive description: @@ -380,26 +380,26 @@ packages: dependency: transitive description: name: matcher - sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 url: "https://pub.dev" source: hosted - version: "0.12.19" + version: "0.12.17" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.13.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: "1741988757a65eb6b36abe716829688cf01910bbf91c34354ff7ec1c3de2b349" + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.16.0" mime: dependency: transitive description: @@ -673,10 +673,10 @@ packages: dependency: transitive description: name: test_api - sha256: "949a932224383300f01be9221c39180316445ecb8e7547f70a41a35bf421fb9e" + sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00" url: "https://pub.dev" source: hosted - version: "0.7.11" + version: "0.7.6" typed_data: dependency: transitive description: @@ -798,7 +798,7 @@ packages: source: hosted version: "1.1.1" web3dart: - dependency: transitive + dependency: "direct main" description: name: web3dart sha256: "885e5e8f0cc3c87c09f160a7fce6279226ca41316806f7ece2001959c62ecced" @@ -878,5 +878,5 @@ packages: source: hosted version: "6.6.1" sdks: - dart: ">=3.10.0-0 <4.0.0" + dart: ">=3.9.0 <4.0.0" flutter: ">=3.35.0" diff --git a/pubspec.yaml b/pubspec.yaml index 8350c7b..e32a7ae 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,9 +34,10 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.8 - dynamic_sdk: ^1.9.0 - dynamic_sdk_web3dart: ^1.9.0 + dynamic_sdk: ^1.11.0 + dynamic_sdk_web3dart: ^1.11.0 go_router: ^16.2.0 + web3dart: ^2.7.3 dev_dependencies: flutter_test: diff --git a/test/widget_test.dart b/test/widget_test.dart index f23f096..ffb4c55 100644 --- a/test/widget_test.dart +++ b/test/widget_test.dart @@ -1,30 +1,45 @@ -// This is a basic Flutter widget test. -// -// To perform an interaction with a widget in your test, use the WidgetTester -// utility in the flutter_test package. For example, you can send tap and scroll -// gestures. You can also use WidgetTester to find child widgets in the widget -// tree, read text, and verify that the values of widget properties are correct. - +import 'package:dynamic_sdk/dynamic_sdk.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; - -import 'package:my_app/main.dart'; +import 'package:my_app/views/home_view.dart'; void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(const MyApp()); + testWidgets('handles nullable wallet metadata', (tester) async { + const wallet = BaseWallet(address: '0x1234', chain: 'EVM', id: 'wallet-1'); + + await tester.pumpWidget( + const MaterialApp( + home: Scaffold(body: WalletCard(wallet: wallet)), + ), + ); + + expect(find.text('Not Authenticated'), findsOneWidget); + expect(find.byIcon(Icons.warning), findsOneWidget); + expect(find.textContaining('Additional Addresses:'), findsNothing); + }); - // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); + testWidgets('shows authenticated wallet metadata', (tester) async { + const wallet = BaseWallet( + additionalAddresses: [ + WalletAdditionalAddress( + address: 'bc1qexample', + type: WalletAddressType.payment, + ), + ], + address: '0x1234', + chain: 'EVM', + id: 'wallet-1', + isAuthenticated: true, + ); - // Tap the '+' icon and trigger a frame. - await tester.tap(find.byIcon(Icons.add)); - await tester.pump(); + await tester.pumpWidget( + const MaterialApp( + home: Scaffold(body: WalletCard(wallet: wallet)), + ), + ); - // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); + expect(find.text('Authenticated'), findsOneWidget); + expect(find.byIcon(Icons.verified), findsOneWidget); + expect(find.text('Additional Addresses: 1'), findsOneWidget); }); } From 7e27fab39f3aeb4edd1565764a0ee87392a0771a Mon Sep 17 00:00:00 2001 From: Devin Dynamic Date: Wed, 22 Jul 2026 09:30:59 +0000 Subject: [PATCH 12/12] chore: bump dynamic_sdk + dynamic_sdk_web3dart to ^1.12.0 --- pubspec.lock | 30 +++++++++++++++--------------- pubspec.yaml | 4 ++-- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index c1c3b6b..d9adf8e 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -29,10 +29,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" clock: dependency: transitive description: @@ -117,18 +117,18 @@ packages: dependency: "direct main" description: name: dynamic_sdk - sha256: "9c4fb85432a5bd5cadaba55c796e9a3200a9abb491feb4df34480b91631eeeeb" + sha256: "65b1dee7140e01ca5715bb99947efe2d969cd113e384c2bf68b65267fc32b4e2" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" dynamic_sdk_web3dart: dependency: "direct main" description: name: dynamic_sdk_web3dart - sha256: cf41215d4efa4e1994130db5853bf41fa8ff0ecc9da5ff46a6f09b7a2389959c + sha256: "825b04bdddc891664a48689ef208374fde57c7cf7e4e0ea306124e11b54df82f" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" eip1559: dependency: transitive description: @@ -380,26 +380,26 @@ packages: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.19" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" meta: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "1741988757a65eb6b36abe716829688cf01910bbf91c34354ff7ec1c3de2b349" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.18.0" mime: dependency: transitive description: @@ -673,10 +673,10 @@ packages: dependency: transitive description: name: test_api - sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00" + sha256: "949a932224383300f01be9221c39180316445ecb8e7547f70a41a35bf421fb9e" url: "https://pub.dev" source: hosted - version: "0.7.6" + version: "0.7.11" typed_data: dependency: transitive description: @@ -878,5 +878,5 @@ packages: source: hosted version: "6.6.1" sdks: - dart: ">=3.9.0 <4.0.0" + dart: ">=3.10.0-0 <4.0.0" flutter: ">=3.35.0" diff --git a/pubspec.yaml b/pubspec.yaml index e32a7ae..06a56f4 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,8 +34,8 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.8 - dynamic_sdk: ^1.11.0 - dynamic_sdk_web3dart: ^1.11.0 + dynamic_sdk: ^1.12.0 + dynamic_sdk_web3dart: ^1.12.0 go_router: ^16.2.0 web3dart: ^2.7.3