%OJq)gFs#R
z?yjQ`z`~0nDLk8WQN!`-Ql|wG7U*Uv=
z>_FCxunbtU3C3l!3GJe}octa2(hTcNxmybWAtAlWAqWz<4454CP>Nx^067LRl~auU
zgsS3=-E$v<6}f%dTZWJ`Ey?T#1gWyI5%kf?$zNJr{6Jk^mX?sL*mGDpV}}@4Rc|2B
zz(9`j`D62~U9bNj>?<6oSIAt0K+n&{5yofSxbO}n@{nf`qBJEExmOq{7Ax^w|H{SD
z9=ILI6Ns5BOV;fx47?MI9drCv_-@!qUltG+zi+3fZb53i!~D#4o9Q7sH%0ijK<}?5
zJ~y>2E1f4w^I!$nIZ9~Pf=A2)T*vw*KWk?)0X`QOT0VL74^rjOMEN986;=2CB%*04
z{!LOpf;SZ9r?G_akwn(a+4mWENmWza>6|N1IfQTrW0#rWaW;azbD(AWVSXH{;-yD;
g=hf>aClHqY0fsEoYiK!>TL1t607*qoM6N<$f{iQc!vFvP
diff --git a/assets/images/usdt_wallet_icon.svg b/assets/images/usdt_wallet_icon.svg
new file mode 100644
index 000000000..fab9840d9
--- /dev/null
+++ b/assets/images/usdt_wallet_icon.svg
@@ -0,0 +1,4 @@
+
diff --git a/assets/images/wow_chain_qr.svg b/assets/images/wow_chain_qr.svg
new file mode 100644
index 000000000..fd55a6233
--- /dev/null
+++ b/assets/images/wow_chain_qr.svg
@@ -0,0 +1,15 @@
+
diff --git a/assets/images/xmr_chain_qr.svg b/assets/images/xmr_chain_qr.svg
new file mode 100644
index 000000000..c7b6f0fc9
--- /dev/null
+++ b/assets/images/xmr_chain_qr.svg
@@ -0,0 +1,5 @@
+
diff --git a/assets/images/xno_chain_qr.svg b/assets/images/xno_chain_qr.svg
new file mode 100644
index 000000000..f6dc53c02
--- /dev/null
+++ b/assets/images/xno_chain_qr.svg
@@ -0,0 +1,13 @@
+
diff --git a/assets/images/zano_chain_mono.png b/assets/images/zano_chain_mono.png
deleted file mode 100644
index 0e8844c696cf57183da969e529c831be96df374a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 774
zcmV+h1Nr=kP)z}vc9>y)z8L`ibuh3*9Ls)olzjmSz65!~fc4w<G0rX|lPB;rB+!Lm^s1K>3mj~~VSa#ef(L7ulNXDHBU8!ck93+pphSZH
zjnIcltDwwfCb+MV^)mkZ43D9e0TS4l;eVmr-MAm>@oYi({We<^-ov~Z7X}!IfR}Fo
zQpzg}Rem))ER>b
zCgn$HLKjZ;QZqInCz(!mu_c){IS;B8Q2}4`b3B}atpWG^evXGj>O99rZho2WRR&O<
z>n#bmqOBk$qQ*B3B!H?D9)ur&aPEJ`G-%YwEz5-k%m>SRvJ9pMBvC90~Rl5ogy
zhRVG|lvfO>bhQ?Gr9`EMq$@`x@>qUuRW3DSH6F3z0a8whT5Cv;I$RyO$FvZmw{MDb
z<6h99{K0@VoMRF<%A&$gwYed(HX!9`h;+KEME!lTOv_ZtmA3-ez@X{2KAvqkM8z4q=Qm8;%hBuJbzRQbfYC5dvY_cc<^Zv%Pv@k3^rjbp
z0iLBB;u{-Nu}(xQ?EweHyTdwnrhAnEoZ;xK7Wo7$u&r~yxE4~}n#!siz=`JygO`^X
z)jGyBHW@lG-tTeTn(Czn$1np!D5*t!*LS(Qs8OsnFnnL%4PKm??yr29>}oQ0+C?-P
zyqwyIJo+*sPdMC}QXU8kxim>!%@E?}=3oHN%Qcv%eoB#j-07*qoM6N<$
Ef_NuUhyVZp
diff --git a/assets/images/zano_chain_mono.svg b/assets/images/zano_chain_mono.svg
new file mode 100644
index 000000000..902bda58c
--- /dev/null
+++ b/assets/images/zano_chain_mono.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/images/zano_chain_qr.png b/assets/images/zano_chain_qr.png
deleted file mode 100644
index 73928fe4e82675ca7d86a8adc5b6573fb9731b63..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 785
zcmV+s1Md8ZP)dbR<7k=NKP%Le=FzTPemo1=j18i4x12}n^D3>E}E7abg@vRjpeb~Z0LT!*V+)(y3mvfC-M{$Ml&rV-B5)C
z36YrLuKsV82i%eF2Z@9r{C3hZ5a2~22m`KuIv8nN!m__Fb^o{vaVe
zSh;0FrY{)Tz(^jh*_clT*asuha)uDfb=5J1P`)M)JTcaS=+V(@FimSS*OW
zNbeZ9HR;-1+*%)uau1*4l?j(2KrX2%%KgTEajzlLh1@>Y&vn|%(-lkKqQp7~SU+0P$5tR{GPG9GSwG{CmoXuf1_hQXz
P00000NkvXXu0mjfam8R#
diff --git a/assets/images/zano_chain_qr.svg b/assets/images/zano_chain_qr.svg
new file mode 100644
index 000000000..4512e48ce
--- /dev/null
+++ b/assets/images/zano_chain_qr.svg
@@ -0,0 +1,5 @@
+
diff --git a/assets/images/zano_icon.svg b/assets/images/zano_icon.svg
new file mode 100644
index 000000000..aca0499a9
--- /dev/null
+++ b/assets/images/zano_icon.svg
@@ -0,0 +1,11 @@
+
diff --git a/lib/di.dart b/lib/di.dart
index 8488a3866..8aadf9675 100644
--- a/lib/di.dart
+++ b/lib/di.dart
@@ -1503,9 +1503,9 @@ Future setup({
themeStore: getIt.get(),
));
- getIt.registerFactoryParam(
- (AnonpayInfoBase anonpayInvoiceInfo, _) =>
- AnonPayReceivePage(invoiceInfo: anonpayInvoiceInfo));
+ getIt.registerFactoryParam(
+ (AnonPayReceivePageArgs anonpayReceivePageArgs, _) =>
+ AnonPayReceivePage(args: anonpayReceivePageArgs));
getIt.registerFactoryParam(
(AnonpayInvoiceInfo anonpayInvoiceInfo, _) => AnonpayDetailsPage(
diff --git a/lib/router.dart b/lib/router.dart
index 1577abedc..ad43badf2 100644
--- a/lib/router.dart
+++ b/lib/router.dart
@@ -1,6 +1,5 @@
import 'dart:io';
-import 'package:cake_wallet/anonpay/anonpay_info_base.dart';
import 'package:cake_wallet/anonpay/anonpay_invoice_info.dart';
import 'package:cake_wallet/core/new_wallet_arguments.dart';
import 'package:cake_wallet/order/order.dart';
@@ -766,9 +765,9 @@ Route createRoute(RouteSettings settings) {
return CupertinoPageRoute(builder: (_) => getIt.get(param1: args));
case Routes.anonPayReceivePage:
- final anonInvoiceViewData = settings.arguments as AnonpayInfoBase;
+ final anonReceivePageArgs = settings.arguments as AnonPayReceivePageArgs;
return CupertinoPageRoute(
- builder: (_) => getIt.get(param1: anonInvoiceViewData));
+ builder: (_) => getIt.get(param1: anonReceivePageArgs));
case Routes.anonPayDetailsPage:
final anonInvoiceViewData = settings.arguments as AnonpayInvoiceInfo;
diff --git a/lib/src/screens/dashboard/pages/address_page.dart b/lib/src/screens/dashboard/pages/address_page.dart
index 4ba73b630..77ec84346 100644
--- a/lib/src/screens/dashboard/pages/address_page.dart
+++ b/lib/src/screens/dashboard/pages/address_page.dart
@@ -4,6 +4,7 @@ import 'package:cake_wallet/di.dart';
import 'package:cake_wallet/src/screens/base_page.dart';
import 'package:cake_wallet/anonpay/anonpay_donation_link_info.dart';
import 'package:cake_wallet/entities/preferences_key.dart';
+import 'package:cake_wallet/src/screens/receive/anonpay_receive_page.dart';
import 'package:cake_wallet/src/widgets/cake_image_widget.dart';
import 'package:cw_core/receive_page_option.dart';
import 'package:cake_wallet/src/screens/dashboard/widgets/present_receive_option_picker.dart';
@@ -188,6 +189,7 @@ class AddressPage extends BasePage {
imageUrl: addressListViewModel.monoImage,
height: 16,
width: 16,
+ color: Theme.of(context).colorScheme.onSurface,
),
SizedBox(width: 10),
Text(
@@ -211,17 +213,31 @@ class AddressPage extends BasePage {
Center(
child: SizedBox(
height: 40,
- width: addressListViewModel.walletImages.length * 30.0,
+ width: addressListViewModel.walletImages.length * 32.0,
child: Stack(
children: [
for (int i = addressListViewModel.walletImages.length - 1; i >= 0; i--)
Positioned(
left: i * 25.0,
- child: ClipOval(
- child: CakeImageWidget(
- height: 35,
- width: 35,
- imageUrl: addressListViewModel.walletImages[i],
+ child: Container(
+ decoration: BoxDecoration(
+ border: Border.all(
+ color: Theme.of(context).colorScheme.surfaceContainer,
+ width: 3,
+ ),
+ color: Theme.of(context).colorScheme.surfaceContainer,
+ borderRadius: BorderRadius.circular(24),
+ ),
+ child: ClipOval(
+ child: CakeImageWidget(
+ height: 35,
+ width: 35,
+ imageUrl: addressListViewModel.walletImages[i],
+ color: addressListViewModel.walletImages.last ==
+ addressListViewModel.walletImages[i]
+ ? Theme.of(context).colorScheme.onSurfaceVariant
+ : null,
+ ),
),
),
),
@@ -273,10 +289,13 @@ class AddressPage extends BasePage {
Navigator.pushNamed(
context,
Routes.anonPayReceivePage,
- arguments: AnonpayDonationLinkInfo(
- clearnetUrl: clearnetUrl,
- onionUrl: onionUrl,
- address: addressListViewModel.address.address,
+ arguments: AnonPayReceivePageArgs(
+ invoiceInfo: AnonpayDonationLinkInfo(
+ clearnetUrl: clearnetUrl,
+ onionUrl: onionUrl,
+ address: addressListViewModel.address.address,
+ ),
+ qrImage: addressListViewModel.qrImage,
),
);
} else {
diff --git a/lib/src/screens/exchange_trade/exchange_trade_external_send_page.dart b/lib/src/screens/exchange_trade/exchange_trade_external_send_page.dart
index c1900ca38..92180bb9e 100644
--- a/lib/src/screens/exchange_trade/exchange_trade_external_send_page.dart
+++ b/lib/src/screens/exchange_trade/exchange_trade_external_send_page.dart
@@ -1,5 +1,8 @@
+import 'package:cake_wallet/entities/qr_view_data.dart';
+import 'package:cake_wallet/routes.dart';
import 'package:cake_wallet/src/screens/exchange_trade/widgets/exchange_trade_card_item_widget.dart';
import 'package:cake_wallet/src/screens/receive/widgets/qr_image.dart';
+import 'package:cake_wallet/utils/brightness_util.dart';
import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:flutter/material.dart';
import 'package:cake_wallet/generated/i18n.dart';
@@ -61,20 +64,39 @@ class ExchangeTradeExternalSendPage extends BasePage {
Spacer(flex: 3),
Flexible(
flex: 6,
- child: Center(
- child: AspectRatio(
- aspectRatio: 1.0,
- child: Container(
- padding: EdgeInsets.all(5),
- decoration: BoxDecoration(
- border: Border.all(
- width: 3,
- color: Theme.of(context).colorScheme.primary,
+ child: GestureDetector(
+ onTap: () {
+ BrightnessUtil.changeBrightnessForFunction(
+ () async {
+ await Navigator.pushNamed(
+ context,
+ Routes.fullscreenQR,
+ arguments: QrViewData(
+ embeddedImagePath: exchangeTradeViewModel.qrImage,
+ data: exchangeTradeViewModel.trade.inputAddress ??
+ fetchingLabel,
+ ),
+ );
+ },
+ );
+ },
+ child: Center(
+ child: AspectRatio(
+ aspectRatio: 1.0,
+ child: Container(
+ padding: EdgeInsets.all(5),
+ decoration: BoxDecoration(
+ border: Border.all(
+ width: 3,
+ color: Theme.of(context).colorScheme.primary,
+ ),
+ ),
+ child: QrImage(
+ data: exchangeTradeViewModel.trade.inputAddress ??
+ fetchingLabel,
+ embeddedImagePath: exchangeTradeViewModel.qrImage,
+ size: 230,
),
- ),
- child: QrImage(
- data:
- exchangeTradeViewModel.trade.inputAddress ?? fetchingLabel,
),
),
),
@@ -88,7 +110,8 @@ class ExchangeTradeExternalSendPage extends BasePage {
.where((item) => item.isExternalSendDetail)
.map(
(item) => TradeItemRowWidget(
- key: ValueKey('exchange_trade_external_send_page_send_item_${item.title}_key'),
+ key: ValueKey(
+ 'exchange_trade_external_send_page_send_item_${item.title}_key'),
currentTheme: currentTheme,
title: item.title,
value: item.data,
diff --git a/lib/src/screens/receive/anonpay_invoice_page.dart b/lib/src/screens/receive/anonpay_invoice_page.dart
index 2aba0f207..b883d5fe0 100644
--- a/lib/src/screens/receive/anonpay_invoice_page.dart
+++ b/lib/src/screens/receive/anonpay_invoice_page.dart
@@ -1,7 +1,9 @@
import 'package:cake_wallet/anonpay/anonpay_donation_link_info.dart';
+import 'package:cake_wallet/anonpay/anonpay_invoice_info.dart';
import 'package:cake_wallet/core/execution_state.dart';
import 'package:cake_wallet/di.dart';
import 'package:cake_wallet/entities/preferences_key.dart';
+import 'package:cake_wallet/src/screens/receive/anonpay_receive_page.dart';
import 'package:cw_core/receive_page_option.dart';
import 'package:cake_wallet/routes.dart';
import 'package:cake_wallet/src/screens/dashboard/widgets/present_receive_option_picker.dart';
@@ -200,12 +202,18 @@ class AnonPayInvoicePage extends BasePage {
if (clearnetUrl != null &&
onionUrl != null &&
anonInvoicePageViewModel.currentWalletName == donationWalletName) {
- Navigator.pushReplacementNamed(context, Routes.anonPayReceivePage,
- arguments: AnonpayDonationLinkInfo(
+ Navigator.pushReplacementNamed(
+ context,
+ Routes.anonPayReceivePage,
+ arguments: AnonPayReceivePageArgs(
+ invoiceInfo: AnonpayDonationLinkInfo(
clearnetUrl: clearnetUrl,
onionUrl: onionUrl,
address: anonInvoicePageViewModel.address,
- ));
+ ),
+ qrImage: anonInvoicePageViewModel.qrImage,
+ ),
+ );
}
break;
default:
@@ -214,7 +222,14 @@ class AnonPayInvoicePage extends BasePage {
reaction((_) => anonInvoicePageViewModel.state, (ExecutionState state) {
if (state is ExecutedSuccessfullyState) {
- Navigator.pushNamed(context, Routes.anonPayReceivePage, arguments: state.payload);
+ Navigator.pushNamed(
+ context,
+ Routes.anonPayReceivePage,
+ arguments: AnonPayReceivePageArgs(
+ invoiceInfo: state.payload as AnonpayInvoiceInfo,
+ qrImage: anonInvoicePageViewModel.qrImage,
+ ),
+ );
}
if (state is FailureState) {
showPopUp(
diff --git a/lib/src/screens/receive/anonpay_receive_page.dart b/lib/src/screens/receive/anonpay_receive_page.dart
index c37f78e81..5b6ecc843 100644
--- a/lib/src/screens/receive/anonpay_receive_page.dart
+++ b/lib/src/screens/receive/anonpay_receive_page.dart
@@ -13,10 +13,18 @@ import 'package:cake_wallet/utils/brightness_util.dart';
import 'package:flutter/material.dart';
import 'package:qr_flutter/qr_flutter.dart' as qr;
-class AnonPayReceivePage extends BasePage {
+class AnonPayReceivePageArgs {
final AnonpayInfoBase invoiceInfo;
+ final String? qrImage;
- AnonPayReceivePage({required this.invoiceInfo});
+ AnonPayReceivePageArgs({required this.invoiceInfo, this.qrImage});
+}
+
+class AnonPayReceivePage extends BasePage {
+ AnonPayReceivePage({required this.args}) : invoiceInfo = args.invoiceInfo;
+
+ final AnonPayReceivePageArgs args;
+ final AnonpayInfoBase invoiceInfo;
@override
String get title => S.current.receive;
@@ -104,6 +112,7 @@ class AnonPayReceivePage extends BasePage {
arguments: QrViewData(
data: invoiceInfo.clearnetUrl,
version: qr.QrVersions.auto,
+ embeddedImagePath: args.qrImage,
));
});
},
@@ -123,6 +132,8 @@ class AnonPayReceivePage extends BasePage {
child: QrImage(
data: invoiceInfo.clearnetUrl,
version: qr.QrVersions.auto,
+ embeddedImagePath: args.qrImage,
+ size: 230,
),
),
),
diff --git a/lib/src/screens/receive/fullscreen_qr_page.dart b/lib/src/screens/receive/fullscreen_qr_page.dart
index ebe3eb781..d0f86b4b6 100644
--- a/lib/src/screens/receive/fullscreen_qr_page.dart
+++ b/lib/src/screens/receive/fullscreen_qr_page.dart
@@ -71,6 +71,7 @@ class FullscreenQRPage extends BasePage {
),
),
child: QrImage(
+ size: 360,
data: qrViewData.data,
version: qrViewData.version,
embeddedImagePath: qrViewData.embeddedImagePath,
diff --git a/lib/src/screens/receive/widgets/qr_image.dart b/lib/src/screens/receive/widgets/qr_image.dart
index ef4d3ad6a..32dec6aae 100644
--- a/lib/src/screens/receive/widgets/qr_image.dart
+++ b/lib/src/screens/receive/widgets/qr_image.dart
@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
+import 'package:flutter_svg/flutter_svg.dart';
import 'package:qr_flutter/qr_flutter.dart' as qr;
class QrImage extends StatelessWidget {
@@ -22,15 +23,43 @@ class QrImage extends StatelessWidget {
@override
Widget build(BuildContext context) {
- return qr.QrImageView(
- data: data,
- errorCorrectionLevel: errorCorrectionLevel,
- version: version ?? qr.QrVersions.auto,
- size: size,
- foregroundColor: foregroundColor,
- backgroundColor: backgroundColor,
- padding: const EdgeInsets.all(8.0),
- embeddedImage: AssetImage(embeddedImagePath ?? 'assets/images/qr-cake.png'),
- );
+ final imagePath = embeddedImagePath ?? 'assets/images/qr-cake.png';
+ final isSvg = imagePath.endsWith('.svg');
+
+ if (isSvg) {
+ final qrSize = size ?? 100.0;
+ final logoSize = qrSize * 0.30;
+
+ return Stack(
+ alignment: Alignment.center,
+ children: [
+ qr.QrImageView(
+ data: data,
+ errorCorrectionLevel: errorCorrectionLevel,
+ version: version ?? qr.QrVersions.auto,
+ size: qrSize,
+ foregroundColor: foregroundColor,
+ backgroundColor: backgroundColor,
+ padding: const EdgeInsets.all(12.0),
+ ),
+ SvgPicture.asset(
+ imagePath,
+ width: logoSize * 0.8,
+ height: logoSize * 0.8,
+ ),
+ ],
+ );
+ } else {
+ return qr.QrImageView(
+ data: data,
+ errorCorrectionLevel: errorCorrectionLevel,
+ version: version ?? qr.QrVersions.auto,
+ size: size,
+ foregroundColor: foregroundColor,
+ backgroundColor: backgroundColor,
+ padding: const EdgeInsets.all(12.0),
+ embeddedImage: AssetImage(imagePath),
+ );
+ }
}
}
diff --git a/lib/src/screens/receive/widgets/qr_widget.dart b/lib/src/screens/receive/widgets/qr_widget.dart
index 91f2676dc..140c5619f 100644
--- a/lib/src/screens/receive/widgets/qr_widget.dart
+++ b/lib/src/screens/receive/widgets/qr_widget.dart
@@ -97,17 +97,14 @@ class QRWidget extends StatelessWidget {
),
child: Column(
children: [
- Container(
- clipBehavior: Clip.hardEdge,
- decoration: BoxDecoration(
- borderRadius: BorderRadius.circular(12.5),
- ),
- padding: EdgeInsets.all(3),
+ ClipRRect(
+ borderRadius: BorderRadius.circular(12.5),
child: AspectRatio(
aspectRatio: 1.0,
child: QrImage(
embeddedImagePath: addressListViewModel.qrImage,
data: addressUri.toString(),
+ size: 230,
),
),
),
@@ -199,32 +196,29 @@ class QRWidget extends StatelessWidget {
],
),
Observer(
- builder: (_) => Padding(
- padding: EdgeInsets.only(top: 10),
- child: Row(
- children: [
- Expanded(
- child: Form(
- key: formKey,
- child: CurrencyAmountTextField(
- hasUnderlineBorder: true,
- borderWidth: 0.0,
- selectedCurrency: _currencyName,
- selectedCurrencyDecimals:
- addressListViewModel.selectedCurrency.decimals,
- amountFocusNode: amountTextFieldFocusNode,
- amountController: amountController,
- padding: EdgeInsets.only(top: 20, left: _width / 4),
- currentThemeType: currentTheme.type,
- isAmountEditable: true,
- tag: addressListViewModel.selectedCurrency.tag,
- onTapPicker: () => _presentPicker(context),
- isPickerEnable: true,
- ),
+ builder: (_) => Row(
+ children: [
+ Expanded(
+ child: Form(
+ key: formKey,
+ child: CurrencyAmountTextField(
+ hasUnderlineBorder: true,
+ borderWidth: 0.0,
+ selectedCurrency: _currencyName,
+ selectedCurrencyDecimals:
+ addressListViewModel.selectedCurrency.decimals,
+ amountFocusNode: amountTextFieldFocusNode,
+ amountController: amountController,
+ padding: EdgeInsets.only(top: 20, left: _width / 4),
+ currentThemeType: currentTheme.type,
+ isAmountEditable: true,
+ tag: addressListViewModel.selectedCurrency.tag,
+ onTapPicker: () => _presentPicker(context),
+ isPickerEnable: true,
),
),
- ],
- ),
+ ),
+ ],
)),
Divider(height: 1, color: Theme.of(context).colorScheme.outlineVariant),
Padding(
diff --git a/lib/src/widgets/cake_image_widget.dart b/lib/src/widgets/cake_image_widget.dart
index 04d298e2e..5c80083a3 100644
--- a/lib/src/widgets/cake_image_widget.dart
+++ b/lib/src/widgets/cake_image_widget.dart
@@ -39,6 +39,7 @@ class CakeImageWidget extends StatelessWidget {
imageUrl!,
height: height,
width: width,
+ color: color,
fit: fit ?? BoxFit.contain,
)
: Image.asset(
@@ -54,6 +55,7 @@ class CakeImageWidget extends StatelessWidget {
imageUrl!,
height: height,
width: width,
+ color: color,
fit: fit ?? BoxFit.contain,
placeholderBuilder: (_) {
return loadingWidget ?? const Center(child: CircularProgressIndicator());
diff --git a/lib/utils/qr_util.dart b/lib/utils/qr_util.dart
new file mode 100644
index 000000000..26b300064
--- /dev/null
+++ b/lib/utils/qr_util.dart
@@ -0,0 +1,36 @@
+import 'package:cw_core/wallet_type.dart';
+
+String getQrImage(WalletType type) {
+ switch (type) {
+ case WalletType.ethereum:
+ return 'assets/images/eth_chain_qr.svg';
+ case WalletType.solana:
+ return 'assets/images/sol_chain_qr.svg';
+ case WalletType.polygon:
+ return 'assets/images/pol_chain_qr.svg';
+ case WalletType.tron:
+ return 'assets/images/trx_chain_qr.svg';
+ case WalletType.zano:
+ return 'assets/images/zano_chain_qr.svg';
+ case WalletType.monero:
+ return 'assets/images/xmr_chain_qr.svg';
+ case WalletType.wownero:
+ return 'assets/images/wow_chain_qr.svg';
+ case WalletType.bitcoin:
+ return 'assets/images/btc_chain_qr.svg';
+ case WalletType.litecoin:
+ return 'assets/images/ltc_chain_qr.svg';
+ case WalletType.bitcoinCash:
+ return 'assets/images/bch_chain_qr.svg';
+ case WalletType.nano:
+ return 'assets/images/xno_chain_qr.svg';
+ case WalletType.decred:
+ return 'assets/images/dcr_chain_qr.svg';
+ case WalletType.dogecoin:
+ return 'assets/images/doge_chain_qr.svg';
+ case WalletType.banano:
+ case WalletType.haven:
+ case WalletType.none:
+ return 'assets/images/qr-cake.svg';
+ }
+}
diff --git a/lib/view_model/anon_invoice_page_view_model.dart b/lib/view_model/anon_invoice_page_view_model.dart
index 05467bd71..bf519c577 100644
--- a/lib/view_model/anon_invoice_page_view_model.dart
+++ b/lib/view_model/anon_invoice_page_view_model.dart
@@ -4,6 +4,7 @@ import 'package:cake_wallet/anonpay/anonpay_request.dart';
import 'package:cake_wallet/core/execution_state.dart';
import 'package:cake_wallet/entities/fiat_currency.dart';
import 'package:cake_wallet/entities/preferences_key.dart';
+import 'package:cake_wallet/utils/qr_util.dart';
import 'package:cw_core/receive_page_option.dart';
import 'package:cake_wallet/store/settings_store.dart';
import 'package:cw_core/crypto_currency.dart';
@@ -175,6 +176,9 @@ abstract class AnonInvoicePageViewModelBase with Store {
@computed
String get currentWalletName => _wallet.name;
+ @computed
+ String get qrImage => getQrImage(_wallet.type);
+
@action
void reset() {
selectedCurrency = walletTypeToCryptoCurrency(_wallet.type);
diff --git a/lib/view_model/exchange/exchange_trade_view_model.dart b/lib/view_model/exchange/exchange_trade_view_model.dart
index bc8be9228..c35519083 100644
--- a/lib/view_model/exchange/exchange_trade_view_model.dart
+++ b/lib/view_model/exchange/exchange_trade_view_model.dart
@@ -19,6 +19,7 @@ import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/src/screens/exchange_trade/exchange_trade_item.dart';
import 'package:cake_wallet/store/dashboard/fiat_conversion_store.dart';
import 'package:cake_wallet/store/dashboard/trades_store.dart';
+import 'package:cake_wallet/utils/qr_util.dart';
import 'package:cake_wallet/view_model/send/fees_view_model.dart';
import 'package:cake_wallet/view_model/send/output.dart';
import 'package:cake_wallet/view_model/send/send_view_model.dart';
@@ -315,4 +316,7 @@ abstract class ExchangeTradeViewModelBase with Store {
_isSplToken() ||
_isTronToken();
}
+
+ @computed
+ String get qrImage => getQrImage(wallet.type);
}
diff --git a/lib/view_model/wallet_address_list/wallet_address_list_view_model.dart b/lib/view_model/wallet_address_list/wallet_address_list_view_model.dart
index 0ccea7ca1..7e55137a6 100644
--- a/lib/view_model/wallet_address_list/wallet_address_list_view_model.dart
+++ b/lib/view_model/wallet_address_list/wallet_address_list_view_model.dart
@@ -19,6 +19,7 @@ import 'package:cake_wallet/store/dashboard/fiat_conversion_store.dart';
import 'package:cake_wallet/store/settings_store.dart';
import 'package:cake_wallet/store/yat/yat_store.dart';
import 'package:cake_wallet/tron/tron.dart';
+import 'package:cake_wallet/utils/qr_util.dart';
import 'package:cake_wallet/zano/zano.dart';
import 'package:cake_wallet/utils/list_item.dart';
import 'package:cake_wallet/view_model/wallet_address_list/wallet_account_list_header.dart';
@@ -622,38 +623,38 @@ abstract class WalletAddressListViewModelBase extends WalletChangeListenerViewMo
switch (wallet.type) {
case WalletType.ethereum:
return [
- 'assets/images/eth_icon.png',
- 'assets/images/usdc_icon.png',
- 'assets/images/usdt_wallet_icon.png',
- 'assets/images/deuro_icon.png',
- 'assets/images/more_tokens.png',
+ 'assets/images/eth_icon.svg',
+ 'assets/images/usdc_icon.svg',
+ 'assets/images/usdt_wallet_icon.svg',
+ 'assets/images/deuro_icon.svg',
+ 'assets/images/more_tokens.svg',
];
case WalletType.solana:
return [
- 'assets/images/sol_icon.png',
- 'assets/images/usdc_icon.png',
- 'assets/images/usdt_wallet_icon.png',
- 'assets/images/more_tokens.png',
+ 'assets/images/sol_icon.svg',
+ 'assets/images/usdc_icon.svg',
+ 'assets/images/usdt_wallet_icon.svg',
+ 'assets/images/more_tokens.svg',
];
case WalletType.polygon:
return [
- 'assets/images/pol_icon.png',
- 'assets/images/eth_pol_icon.png',
- 'assets/images/usdc_icon.png',
- 'assets/images/usdt_wallet_icon.png',
- 'assets/images/more_tokens.png',
+ 'assets/images/pol_icon.svg',
+ 'assets/images/eth_pol_icon.svg',
+ 'assets/images/usdc_icon.svg',
+ 'assets/images/usdt_wallet_icon.svg',
+ 'assets/images/more_tokens.svg',
];
case WalletType.tron:
return [
- 'assets/images/trx_icon.png',
- 'assets/images/usdc_icon.png',
- 'assets/images/usdt_wallet_icon.png',
- 'assets/images/more_tokens.png',
+ 'assets/images/trx_icon.svg',
+ 'assets/images/usdc_icon.svg',
+ 'assets/images/usdt_wallet_icon.svg',
+ 'assets/images/more_tokens.svg',
];
case WalletType.zano:
return [
- 'assets/images/zano_bg_icon.png',
- 'assets/images/more_tokens.png',
+ 'assets/images/zano_icon.svg',
+ 'assets/images/more_tokens.svg',
];
default:
@@ -662,38 +663,23 @@ abstract class WalletAddressListViewModelBase extends WalletChangeListenerViewMo
}
@computed
- String get qrImage {
- switch (type) {
- case WalletType.ethereum:
- return 'assets/images/eth_chain_qr.png';
- case WalletType.solana:
- return 'assets/images/sol_chain_qr.png';
- case WalletType.polygon:
- return 'assets/images/pol_chain_qr.png';
- case WalletType.tron:
- return 'assets/images/trx_chain_qr.png';
- case WalletType.zano:
- return 'assets/images/zano_chain_qr.png';
- default:
- return 'assets/images/qr-cake.png';
- }
- }
+ String get qrImage => getQrImage(type);
@computed
String get monoImage {
switch (type) {
case WalletType.ethereum:
- return 'assets/images/eth_chain_mono.png';
+ return 'assets/images/eth_chain_mono.svg';
case WalletType.solana:
- return 'assets/images/sol_chain_mono.png';
+ return 'assets/images/sol_chain_mono.svg';
case WalletType.polygon:
- return 'assets/images/pol_chain_mono.png';
+ return 'assets/images/pol_chain_mono.svg';
case WalletType.tron:
- return 'assets/images/trx_chain_mono.png';
+ return 'assets/images/trx_chain_mono.svg';
case WalletType.zano:
- return 'assets/images/zano_chain_mono.png';
+ return 'assets/images/zano_chain_mono.svg';
default:
- return 'assets/images/eth_chain_mono.png';
+ return 'assets/images/eth_chain_mono.svg';
}
}