From be952d3e35bfbdb1939e7aded8dc8e983778e3c4 Mon Sep 17 00:00:00 2001 From: julian Date: Thu, 10 Nov 2022 09:54:58 -0600 Subject: [PATCH] manually add bch uri fixes from https://github.com/cypherstack/stack_wallet/pull/214/commits/28da2b890076a1d679dccaa9970c98516d4ae2d9 --- .../generate_receiving_uri_qr_code_view.dart | 29 +++++++++++++++---- lib/utilities/enums/coin_enum.dart | 2 +- 2 files changed, 25 insertions(+), 6 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 0f699642e..ae615bd96 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 @@ -111,9 +111,17 @@ class _GenerateUriQrCodeViewState extends State { queryParams["message"] = noteString; } + String receivingAddress = widget.receivingAddress; + if ((widget.coin == Coin.bitcoincash || + widget.coin == Coin.bitcoincashTestnet) && + receivingAddress.contains(":")) { + // remove cash addr prefix + receivingAddress = receivingAddress.split(":").sublist(1).join(); + } + final uriString = AddressUtils.buildUriString( widget.coin, - widget.receivingAddress, + receivingAddress, queryParams, ); @@ -225,10 +233,21 @@ class _GenerateUriQrCodeViewState extends State { @override void initState() { isDesktop = Util.isDesktop; - _uriString = Uri( - scheme: widget.coin.uriScheme, - host: widget.receivingAddress, - ).toString().replaceFirst("://", ":"); + + String receivingAddress = widget.receivingAddress; + if ((widget.coin == Coin.bitcoincash || + widget.coin == Coin.bitcoincashTestnet) && + receivingAddress.contains(":")) { + // remove cash addr prefix + receivingAddress = receivingAddress.split(":").sublist(1).join(); + } + + _uriString = AddressUtils.buildUriString( + widget.coin, + receivingAddress, + {}, + ); + amountController = TextEditingController(); noteController = TextEditingController(); super.initState(); diff --git a/lib/utilities/enums/coin_enum.dart b/lib/utilities/enums/coin_enum.dart index 95294c8aa..48212bde8 100644 --- a/lib/utilities/enums/coin_enum.dart +++ b/lib/utilities/enums/coin_enum.dart @@ -132,7 +132,7 @@ extension CoinExt on Coin { case Coin.litecoinTestNet: return "litecoin"; case Coin.bitcoincashTestnet: - return "bitcoincash"; + return "bchtest"; case Coin.firoTestNet: return "firo"; case Coin.dogecoinTestNet: