From 087c2b9411321d33e506cf448fa4599825307cba Mon Sep 17 00:00:00 2001 From: David Adegoke <64401859+Blazebrain@users.noreply.github.com> Date: Thu, 21 May 2026 16:38:17 +0100 Subject: [PATCH] fix: Handle ethereum QR for pay anything (#3250) --- .../bottom_sheet/token_selection_bottom_sheet.dart | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/src/widgets/bottom_sheet/token_selection_bottom_sheet.dart b/lib/src/widgets/bottom_sheet/token_selection_bottom_sheet.dart index ce316f90c..3910f876c 100644 --- a/lib/src/widgets/bottom_sheet/token_selection_bottom_sheet.dart +++ b/lib/src/widgets/bottom_sheet/token_selection_bottom_sheet.dart @@ -78,7 +78,7 @@ class _TokenSelectionContentState extends State<_TokenSelectionContent> { void initState() { super.initState(); final baseNetwork = widget.fixedNetwork ?? WalletType.ethereum; - selectedNetwork = _resolveGenericETHDetectionResultToSpecificChain(baseNetwork); + selectedNetwork = _resolveGenericETHDetectionResultToSpecificChain(baseNetwork, widget.paymentRequest.scheme.isNotEmpty); _autoSelectToken(); } @@ -101,8 +101,9 @@ class _TokenSelectionContentState extends State<_TokenSelectionContent> { return null; } - WalletType _resolveGenericETHDetectionResultToSpecificChain(WalletType network) { - if (network != WalletType.ethereum) return network; + WalletType _resolveGenericETHDetectionResultToSpecificChain(WalletType network, bool hasURIScheme) { + if(hasURIScheme || network != WalletType.ethereum) return network; + final current = widget.paymentViewModel.currentWalletType; if (isEVMCompatibleChain(current)) return current; return network; @@ -112,7 +113,7 @@ class _TokenSelectionContentState extends State<_TokenSelectionContent> { final initialNetwork = selectedNetwork; if (initialNetwork == null || !mounted) return; - final network = _resolveGenericETHDetectionResultToSpecificChain(initialNetwork); + final network = _resolveGenericETHDetectionResultToSpecificChain(initialNetwork, widget.paymentRequest.scheme.isNotEmpty); setState(() { selectedNetwork = network;