From 9d7a052ca0b0241834a54a70af953463c53fd22f Mon Sep 17 00:00:00 2001
From: julian <julian@cypherstack.com>
Date: Thu, 10 Nov 2022 09:42:05 -0600
Subject: [PATCH] qr uri fix

---
 .../generate_receiving_uri_qr_code_view.dart  | 20 ++++++++-----------
 1 file changed, 8 insertions(+), 12 deletions(-)

diff --git a/lib/pages/receive_view/generate_receiving_uri_qr_code_view.dart b/lib/pages/receive_view/generate_receiving_uri_qr_code_view.dart
index 4c3c4c968..0f699642e 100644
--- a/lib/pages/receive_view/generate_receiving_uri_qr_code_view.dart
+++ b/lib/pages/receive_view/generate_receiving_uri_qr_code_view.dart
@@ -11,6 +11,7 @@ import 'package:path_provider/path_provider.dart';
 import 'package:qr_flutter/qr_flutter.dart';
 import 'package:share_plus/share_plus.dart';
 import 'package:stackwallet/notifications/show_flush_bar.dart';
+import 'package:stackwallet/utilities/address_utils.dart';
 import 'package:stackwallet/utilities/assets.dart';
 import 'package:stackwallet/utilities/clipboard_interface.dart';
 import 'package:stackwallet/utilities/constants.dart';
@@ -101,26 +102,21 @@ class _GenerateUriQrCodeViewState extends State<GenerateUriQrCodeView> {
       return null;
     }
 
-    String query = "";
+    Map<String, String> queryParams = {};
 
     if (amountString.isNotEmpty) {
-      query += "amount=$amountString";
+      queryParams["amount"] = amountString;
     }
     if (noteString.isNotEmpty) {
-      if (query.isNotEmpty) {
-        query += "&";
-      }
-      query += "message=$noteString";
+      queryParams["message"] = noteString;
     }
 
-    final uri = Uri(
-      scheme: widget.coin.uriScheme,
-      host: widget.receivingAddress,
-      query: query.isNotEmpty ? query : null,
+    final uriString = AddressUtils.buildUriString(
+      widget.coin,
+      widget.receivingAddress,
+      queryParams,
     );
 
-    final uriString = uri.toString().replaceFirst("://", ":");
-
     Logging.instance.log("Generated receiving QR code for: $uriString",
         level: LogLevel.Info);