Merge branch 'dev' into cw-1440-new-buy-sell-flow

This commit is contained in:
Robert Malikowski
2026-08-11 13:03:39 +02:00
108 changed files with 5195 additions and 2920 deletions
@@ -215,6 +215,10 @@ class WalletRestorePage extends BasePage {
walletRestoreFromKeysFormKey.currentState!.privateKeyController.text;
credentials['name'] =
walletRestoreFromKeysFormKey.currentState!.nameTextEditingController.text;
if (walletRestoreViewModel.hasBlockchainHeightSelector) {
credentials['height'] =
walletRestoreFromKeysFormKey.currentState!.blockchainHeightKey.currentState?.height;
}
} else {
credentials['name'] =
walletRestoreFromKeysFormKey.currentState!.nameTextEditingController.text;
@@ -80,6 +80,7 @@ class WCConnectionRequestSheet extends StatelessWidget {
padding: const EdgeInsets.symmetric(horizontal: 24),
child: ConfirmSwiper(
swiperText: S.of(context).wc_swipe_to_approve,
accessibleNavigationModeButtonText: S.of(context).wc_action_approve,
onConfirmed: () {
if (Navigator.canPop(context)) {
Navigator.of(context).pop(WCBottomSheetResult.one);
@@ -82,6 +82,7 @@ class WCSigningRequestSheet extends StatelessWidget {
padding: const EdgeInsets.symmetric(horizontal: 24),
child: ConfirmSwiper(
swiperText: swipeLabel,
accessibleNavigationModeButtonText: S.of(context).confirm,
onConfirmed: () {
if (Navigator.canPop(context)) {
Navigator.of(context).pop(WCBottomSheetResult.one);
@@ -78,7 +78,7 @@ class _WalletKeysPageBodyState extends State<WalletKeysPageBody>
showKeyTab = widget.walletKeysViewModel.items.isNotEmpty;
showSilentPaymentsTab =
widget.walletKeysViewModel.isBitcoin && widget.walletKeysViewModel.items.length > 4;
widget.walletKeysViewModel.isBitcoin && widget.walletKeysViewModel.silentPaymentItems.isNotEmpty;
showLegacySeedTab = widget.walletKeysViewModel.legacySeedSplit.isNotEmpty;
isLegacySeedOnly = widget.walletKeysViewModel.isLegacySeedOnly;
@@ -157,16 +157,12 @@ class _WalletKeysPageBodyState extends State<WalletKeysPageBody>
if (showKeyTab)
Padding(
padding: const EdgeInsets.only(left: 22, right: 22),
child: _buildKeysTab(
context,
showSilentPaymentsTab
? widget.walletKeysViewModel.items.sublist(0, 4)
: widget.walletKeysViewModel.items),
child: _buildKeysTab(context, widget.walletKeysViewModel.items),
),
if (showSilentPaymentsTab)
Padding(
padding: const EdgeInsets.only(left: 22, right: 22),
child: _buildKeysTab(context, widget.walletKeysViewModel.items.sublist(4)),
child: _buildKeysTab(context, widget.walletKeysViewModel.silentPaymentItems),
),
if (showLegacySeedTab)
Padding(
@@ -65,7 +65,8 @@ class BlockchainHeightState extends State<BlockchainHeightWidget> {
try {
final int _height;
if (restoreHeightController.text.isNotEmpty) {
_height = int.tryParse(restoreHeightController.text) ?? 0;
final digits = restoreHeightController.text.replaceAll(RegExp(r'[^0-9]'), '');
_height = int.tryParse(digits) ?? 0;
} else {
_height = 0;
}
@@ -381,7 +381,7 @@ class _TokenSelectionContentState extends State<_TokenSelectionContent> {
detectedWalletType: WalletType.solana,
detectedCurrency: selectedToken!,
isValid: true,
amount: widget.paymentRequest.amount,
amount: widget.paymentRequest.resolveTokenAmount(selectedToken!),
note: widget.paymentRequest.note,
scheme: widget.paymentRequest.scheme,
pjUri: widget.paymentRequest.pjUri,
@@ -398,7 +398,7 @@ class _TokenSelectionContentState extends State<_TokenSelectionContent> {
detectedWalletType: WalletType.tron,
detectedCurrency: selectedToken!,
isValid: true,
amount: widget.paymentRequest.amount,
amount: widget.paymentRequest.resolveTokenAmount(selectedToken!),
note: widget.paymentRequest.note,
scheme: widget.paymentRequest.scheme,
pjUri: widget.paymentRequest.pjUri,
@@ -415,7 +415,7 @@ class _TokenSelectionContentState extends State<_TokenSelectionContent> {
detectedWalletType: selectedNetwork!,
detectedCurrency: selectedToken!,
isValid: true,
amount: widget.paymentRequest.amount,
amount: widget.paymentRequest.resolveTokenAmount(selectedToken!),
note: widget.paymentRequest.note,
scheme: widget.paymentRequest.scheme,
pjUri: widget.paymentRequest.pjUri,
@@ -93,16 +93,28 @@ class ListItemRegularRowWidget extends StatelessWidget {
children: [
leadingIcon!,
Positioned(
right: -3,
bottom: -3,
child: CakeImageWidget(
imageUrl: badgeIconPath!,
width: badgeIconSize ?? 10,
height: badgeIconSize ?? 10,
errorWidget: leadingIconErrorWidget,
colorFilter: iconColor == null
? null
: ColorFilter.mode(iconColor!, BlendMode.srcIn),
right: -2,
bottom: -2,
child: Container(
width: 16,
height: 16,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(6),
border: Border.all(
color: theme.colorScheme.surfaceContainerHigh,
width: 2,
),
color: theme.colorScheme.onSurface,
),
padding: const EdgeInsets.all(2),
child: CakeImageWidget(
imageUrl: badgeIconPath!,
width: badgeIconSize ?? 12,
height: badgeIconSize ?? 12,
fit: BoxFit.cover,
color: theme.colorScheme.surface,
errorWidget: leadingIconErrorWidget,
),
),
),
],