2021-11-02 09:17:24 +00:00
|
|
|
import 'dart:async';
|
2023-10-03 15:56:10 +01:00
|
|
|
import 'package:cake_wallet/core/wallet_connect/wc_bottom_sheet_service.dart';
|
2023-04-21 18:21:31 +03:00
|
|
|
import 'package:cake_wallet/entities/preferences_key.dart';
|
2023-04-14 06:39:08 +02:00
|
|
|
import 'package:cake_wallet/di.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_sidebar_wrapper.dart';
|
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base
* feat: allow scanning elect-rs using get_tweaks
* feat: scanning and adding addresses working with getTweaks, add btc SP address type
* chore: pubspec.lock
* chore: pubspec.lock
* fix: scan when switching, fix multiple unspents in same tx
* fix: initial scan
* fix: initial scan
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* fix: nodes & build
* fix: send all with multiple outs
* refactor: unchanged file
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* fix: scan fixes, add date, allow sending while scanning
* feat: sync fixes, sp settings
* feat: fix resyncing
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* fix: double balance
* feat: node domain
* fix: menu name
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* fix: status toggle
* minor enhancement
* Monero.com fixes
* update sp_scanner to include windows and linux
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 11:43:48 -03:00
|
|
|
import 'package:cake_wallet/src/screens/dashboard/pages/cake_features_page.dart';
|
2023-10-03 15:56:10 +01:00
|
|
|
import 'package:cake_wallet/src/screens/wallet_connect/widgets/modals/bottom_sheet_listener.dart';
|
2023-08-17 12:28:31 -03:00
|
|
|
import 'package:cake_wallet/src/widgets/gradient_background.dart';
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 22:43:17 +03:00
|
|
|
import 'package:cake_wallet/src/widgets/haven_wallet_removal_popup.dart';
|
2024-03-10 04:02:30 +02:00
|
|
|
import 'package:cake_wallet/src/widgets/services_updates_widget.dart';
|
2023-12-19 15:16:15 +02:00
|
|
|
import 'package:cake_wallet/src/widgets/vulnerable_seeds_popup.dart';
|
2023-07-13 16:05:52 +03:00
|
|
|
import 'package:cake_wallet/utils/device_info.dart';
|
2023-04-21 18:21:31 +03:00
|
|
|
import 'package:cake_wallet/utils/version_comparator.dart';
|
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base
* feat: allow scanning elect-rs using get_tweaks
* feat: scanning and adding addresses working with getTweaks, add btc SP address type
* chore: pubspec.lock
* chore: pubspec.lock
* fix: scan when switching, fix multiple unspents in same tx
* fix: initial scan
* fix: initial scan
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* fix: nodes & build
* fix: send all with multiple outs
* refactor: unchanged file
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* fix: scan fixes, add date, allow sending while scanning
* feat: sync fixes, sp settings
* feat: fix resyncing
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* fix: double balance
* feat: node domain
* fix: menu name
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* fix: status toggle
* minor enhancement
* Monero.com fixes
* update sp_scanner to include windows and linux
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 11:43:48 -03:00
|
|
|
import 'package:cake_wallet/view_model/dashboard/cake_features_view_model.dart';
|
2020-07-06 23:09:03 +03:00
|
|
|
import 'package:cake_wallet/generated/i18n.dart';
|
|
|
|
import 'package:cake_wallet/routes.dart';
|
2021-11-02 09:17:24 +00:00
|
|
|
import 'package:cake_wallet/src/screens/yat_emoji_id.dart';
|
2023-04-14 06:39:08 +02:00
|
|
|
import 'package:cake_wallet/utils/responsive_layout_util.dart';
|
2021-04-26 21:06:21 +03:00
|
|
|
import 'package:cake_wallet/utils/show_pop_up.dart';
|
2020-01-04 21:31:52 +02:00
|
|
|
import 'package:flutter/material.dart';
|
2020-07-23 15:20:52 +03:00
|
|
|
import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart';
|
2020-07-06 23:09:03 +03:00
|
|
|
import 'package:cake_wallet/src/screens/base_page.dart';
|
2020-05-29 18:10:11 +03:00
|
|
|
import 'package:cake_wallet/src/screens/dashboard/widgets/menu_widget.dart';
|
2024-12-27 04:54:47 +01:00
|
|
|
import 'package:cake_wallet/src/screens/dashboard/pages/balance/balance_page.dart';
|
2025-02-12 06:35:59 -05:00
|
|
|
import 'package:cake_wallet/src/screens/dashboard/pages/navigation_dock.dart';
|
2023-11-22 18:43:26 +01:00
|
|
|
import 'package:cake_wallet/src/screens/dashboard/pages/transactions_page.dart';
|
2020-07-22 13:04:11 +03:00
|
|
|
import 'package:cake_wallet/src/screens/dashboard/widgets/sync_indicator.dart';
|
2020-07-27 20:07:37 +03:00
|
|
|
import 'package:cake_wallet/view_model/wallet_address_list/wallet_address_list_view_model.dart';
|
2021-03-03 20:54:23 +02:00
|
|
|
import 'package:flutter_mobx/flutter_mobx.dart';
|
2021-05-11 16:52:48 +03:00
|
|
|
import 'package:mobx/mobx.dart';
|
2023-04-21 18:21:31 +03:00
|
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
2020-07-31 22:55:26 +03:00
|
|
|
import 'package:smooth_page_indicator/smooth_page_indicator.dart';
|
2021-11-02 09:17:24 +00:00
|
|
|
import 'package:cake_wallet/main.dart';
|
2023-04-21 18:21:31 +03:00
|
|
|
import 'package:cake_wallet/src/screens/release_notes/release_notes_screen.dart';
|
2023-08-17 12:28:31 -03:00
|
|
|
import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
|
2020-01-04 21:31:52 +02:00
|
|
|
|
2024-05-23 16:21:51 +01:00
|
|
|
class DashboardPage extends StatefulWidget {
|
2020-07-27 20:07:37 +03:00
|
|
|
DashboardPage({
|
2023-10-03 15:56:10 +01:00
|
|
|
required this.bottomSheetService,
|
2022-10-12 13:09:57 -04:00
|
|
|
required this.balancePage,
|
2023-04-14 06:39:08 +02:00
|
|
|
required this.dashboardViewModel,
|
2022-10-12 13:09:57 -04:00
|
|
|
required this.addressListViewModel,
|
2020-07-27 20:07:37 +03:00
|
|
|
});
|
2023-04-14 06:39:08 +02:00
|
|
|
|
2022-03-18 16:47:57 +06:00
|
|
|
final BalancePage balancePage;
|
2023-10-03 15:56:10 +01:00
|
|
|
final BottomSheetService bottomSheetService;
|
2023-04-14 06:39:08 +02:00
|
|
|
final DashboardViewModel dashboardViewModel;
|
|
|
|
final WalletAddressListViewModel addressListViewModel;
|
|
|
|
|
2024-05-23 16:21:51 +01:00
|
|
|
@override
|
|
|
|
State<DashboardPage> createState() => _DashboardPageState();
|
|
|
|
}
|
|
|
|
|
|
|
|
class _DashboardPageState extends State<DashboardPage> {
|
|
|
|
@override
|
|
|
|
void initState() {
|
|
|
|
super.initState();
|
|
|
|
|
|
|
|
bool isMobileLayout =
|
|
|
|
responsiveLayoutUtil.screenWidth < ResponsiveLayoutUtilBase.kMobileThreshold;
|
|
|
|
|
|
|
|
reaction((_) => responsiveLayoutUtil.screenWidth, (screenWidth) {
|
|
|
|
// Check if it was previously in mobile layout, and now changing to desktop
|
|
|
|
if (isMobileLayout &&
|
|
|
|
screenWidth > ResponsiveLayoutUtilBase.kDesktopMaxDashBoardWidthConstraint) {
|
|
|
|
setState(() {
|
|
|
|
isMobileLayout = false;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
// Check if it was previously in desktop layout, and now changing to mobile
|
|
|
|
if (!isMobileLayout &&
|
|
|
|
screenWidth <= ResponsiveLayoutUtilBase.kDesktopMaxDashBoardWidthConstraint) {
|
|
|
|
setState(() {
|
|
|
|
isMobileLayout = true;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2023-04-14 06:39:08 +02:00
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
2024-05-23 16:21:51 +01:00
|
|
|
Widget dashboardChild;
|
2023-11-03 07:42:18 +02:00
|
|
|
|
2024-05-23 16:21:51 +01:00
|
|
|
final dashboardPageView = RefreshIndicator(
|
|
|
|
displacement: responsiveLayoutUtil.screenHeight * 0.1,
|
|
|
|
onRefresh: () async => await widget.dashboardViewModel.refreshDashboard(),
|
|
|
|
child: SingleChildScrollView(
|
|
|
|
physics: AlwaysScrollableScrollPhysics(),
|
|
|
|
child: Container(
|
|
|
|
height: responsiveLayoutUtil.screenHeight,
|
|
|
|
child: _DashboardPageView(
|
|
|
|
balancePage: widget.balancePage,
|
|
|
|
bottomSheetService: widget.bottomSheetService,
|
|
|
|
dashboardViewModel: widget.dashboardViewModel,
|
|
|
|
addressListViewModel: widget.addressListViewModel,
|
|
|
|
),
|
|
|
|
),
|
2023-08-08 16:09:51 +01:00
|
|
|
),
|
|
|
|
);
|
2024-05-23 16:21:51 +01:00
|
|
|
|
|
|
|
if (DeviceInfo.instance.isDesktop) {
|
|
|
|
if (responsiveLayoutUtil.screenWidth >
|
|
|
|
ResponsiveLayoutUtilBase.kDesktopMaxDashBoardWidthConstraint) {
|
|
|
|
dashboardChild = getIt.get<DesktopSidebarWrapper>();
|
|
|
|
} else {
|
|
|
|
dashboardChild = dashboardPageView;
|
|
|
|
}
|
|
|
|
} else if (responsiveLayoutUtil.shouldRenderMobileUI) {
|
|
|
|
dashboardChild = dashboardPageView;
|
|
|
|
} else {
|
|
|
|
dashboardChild = getIt.get<DesktopSidebarWrapper>();
|
|
|
|
}
|
|
|
|
|
|
|
|
return Scaffold(body: dashboardChild);
|
2023-04-14 06:39:08 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class _DashboardPageView extends BasePage {
|
|
|
|
_DashboardPageView({
|
2023-10-03 15:56:10 +01:00
|
|
|
required this.bottomSheetService,
|
2023-04-14 06:39:08 +02:00
|
|
|
required this.balancePage,
|
|
|
|
required this.dashboardViewModel,
|
|
|
|
required this.addressListViewModel,
|
|
|
|
});
|
|
|
|
|
|
|
|
final BalancePage balancePage;
|
|
|
|
|
2020-04-14 21:15:47 +03:00
|
|
|
@override
|
2023-08-17 12:28:31 -03:00
|
|
|
bool get gradientBackground => true;
|
2020-08-19 20:57:06 +03:00
|
|
|
|
|
|
|
@override
|
|
|
|
Widget Function(BuildContext, Widget) get rootWrapper =>
|
2023-08-17 12:28:31 -03:00
|
|
|
(BuildContext context, Widget scaffold) => GradientBackground(scaffold: scaffold);
|
2020-01-04 21:31:52 +02:00
|
|
|
|
2020-07-28 19:03:34 +03:00
|
|
|
@override
|
2021-04-26 21:06:21 +03:00
|
|
|
bool get resizeToAvoidBottomInset => false;
|
2020-07-28 19:03:34 +03:00
|
|
|
|
2020-07-31 18:29:21 +03:00
|
|
|
@override
|
2025-02-12 06:35:59 -05:00
|
|
|
Widget get endDrawer =>
|
|
|
|
MenuWidget(dashboardViewModel, ValueKey('dashboard_page_drawer_menu_widget_key'));
|
2020-07-31 18:29:21 +03:00
|
|
|
|
2024-03-10 04:02:30 +02:00
|
|
|
@override
|
2024-03-25 14:28:45 -04:00
|
|
|
Widget leading(BuildContext context) {
|
|
|
|
return Observer(
|
|
|
|
builder: (context) {
|
2024-04-15 15:45:40 -07:00
|
|
|
return ServicesUpdatesWidget(
|
2024-09-22 03:46:51 +01:00
|
|
|
key: ValueKey('dashboard_page_services_update_button_key'),
|
2024-04-15 15:45:40 -07:00
|
|
|
dashboardViewModel.getServicesStatus(),
|
|
|
|
enabled: dashboardViewModel.isEnabledBulletinAction,
|
|
|
|
);
|
2024-03-25 14:28:45 -04:00
|
|
|
},
|
|
|
|
);
|
|
|
|
}
|
2024-03-10 04:02:30 +02:00
|
|
|
|
2020-07-22 13:04:11 +03:00
|
|
|
@override
|
|
|
|
Widget middle(BuildContext context) {
|
2023-04-14 06:39:08 +02:00
|
|
|
return SyncIndicator(
|
2024-09-22 03:46:51 +01:00
|
|
|
key: ValueKey('dashboard_page_sync_indicator_button_key'),
|
2023-08-08 16:09:51 +01:00
|
|
|
dashboardViewModel: dashboardViewModel,
|
|
|
|
onTap: () => Navigator.of(context, rootNavigator: true).pushNamed(Routes.connectionSync),
|
|
|
|
);
|
2020-07-22 13:04:11 +03:00
|
|
|
}
|
|
|
|
|
2020-01-04 21:31:52 +02:00
|
|
|
@override
|
2020-07-06 23:09:03 +03:00
|
|
|
Widget trailing(BuildContext context) {
|
2023-08-08 16:09:51 +01:00
|
|
|
final menuButton = Image.asset(
|
|
|
|
'assets/images/menu.png',
|
2023-08-18 18:37:17 +03:00
|
|
|
color: Theme.of(context).extension<DashboardPageTheme>()!.pageTitleTextColor,
|
2023-08-08 16:09:51 +01:00
|
|
|
);
|
2020-07-06 23:09:03 +03:00
|
|
|
|
|
|
|
return Container(
|
2023-08-08 16:09:51 +01:00
|
|
|
alignment: Alignment.centerRight,
|
|
|
|
width: 40,
|
|
|
|
child: TextButton(
|
2024-09-22 03:46:51 +01:00
|
|
|
key: ValueKey('dashboard_page_wallet_menu_button_key'),
|
2023-08-08 16:09:51 +01:00
|
|
|
onPressed: () => onOpenEndDrawer(),
|
|
|
|
child: Semantics(label: S.of(context).wallet_menu, child: menuButton),
|
|
|
|
),
|
|
|
|
);
|
2020-07-06 23:09:03 +03:00
|
|
|
}
|
2020-04-14 21:15:47 +03:00
|
|
|
|
2023-04-14 06:39:08 +02:00
|
|
|
final DashboardViewModel dashboardViewModel;
|
2023-10-03 15:56:10 +01:00
|
|
|
final BottomSheetService bottomSheetService;
|
2020-07-27 20:07:37 +03:00
|
|
|
final WalletAddressListViewModel addressListViewModel;
|
2023-08-18 18:37:17 +03:00
|
|
|
|
2023-04-16 14:45:35 +01:00
|
|
|
int get initialPage => dashboardViewModel.shouldShowMarketPlaceInDashboard ? 1 : 0;
|
|
|
|
ObservableList<Widget> pages = ObservableList<Widget>();
|
2020-07-21 20:22:41 +03:00
|
|
|
bool _isEffectsInstalled = false;
|
2020-07-06 23:09:03 +03:00
|
|
|
|
|
|
|
@override
|
|
|
|
Widget body(BuildContext context) {
|
2023-04-16 14:45:35 +01:00
|
|
|
final controller = PageController(initialPage: initialPage);
|
2023-04-21 18:21:31 +03:00
|
|
|
|
2023-08-08 16:09:51 +01:00
|
|
|
reaction(
|
|
|
|
(_) => dashboardViewModel.shouldShowMarketPlaceInDashboard,
|
|
|
|
(bool value) {
|
|
|
|
if (!dashboardViewModel.shouldShowMarketPlaceInDashboard) {
|
|
|
|
controller.jumpToPage(0);
|
|
|
|
}
|
|
|
|
pages.clear();
|
|
|
|
_isEffectsInstalled = false;
|
|
|
|
_setEffects(context);
|
2023-04-16 14:45:35 +01:00
|
|
|
|
2023-08-08 16:09:51 +01:00
|
|
|
if (value) {
|
|
|
|
controller.jumpToPage(1);
|
|
|
|
} else {
|
|
|
|
controller.jumpToPage(0);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
);
|
2021-05-11 16:52:48 +03:00
|
|
|
_setEffects(context);
|
2020-07-21 20:22:41 +03:00
|
|
|
|
|
|
|
return SafeArea(
|
2025-02-12 06:35:59 -05:00
|
|
|
minimum: EdgeInsets.only(bottom: 0),
|
2023-10-03 15:56:10 +01:00
|
|
|
child: BottomSheetListener(
|
|
|
|
bottomSheetService: bottomSheetService,
|
2025-02-12 06:35:59 -05:00
|
|
|
child: Container(
|
|
|
|
child: Stack(
|
|
|
|
alignment: Alignment.bottomCenter,
|
|
|
|
children: <Widget>[
|
|
|
|
//new Expanded(
|
|
|
|
Observer(
|
2023-10-03 15:56:10 +01:00
|
|
|
builder: (context) {
|
|
|
|
return PageView.builder(
|
2024-09-22 03:46:51 +01:00
|
|
|
key: ValueKey('dashboard_page_view_key'),
|
2023-08-08 16:09:51 +01:00
|
|
|
controller: controller,
|
2023-10-03 15:56:10 +01:00
|
|
|
itemCount: pages.length,
|
|
|
|
itemBuilder: (context, index) => pages[index],
|
|
|
|
);
|
|
|
|
},
|
|
|
|
),
|
2025-02-12 06:35:59 -05:00
|
|
|
//),
|
|
|
|
Positioned(
|
|
|
|
child: Container(
|
|
|
|
alignment: Alignment.bottomCenter,
|
|
|
|
margin: EdgeInsets.only(bottom: 110),
|
|
|
|
child: Observer(
|
|
|
|
builder: (context) {
|
|
|
|
return Semantics(
|
|
|
|
button: false,
|
|
|
|
label: 'Page Indicator',
|
|
|
|
hint: 'Swipe to change page',
|
|
|
|
excludeSemantics: true,
|
|
|
|
child: SmoothPageIndicator(
|
|
|
|
controller: controller,
|
|
|
|
count: pages.length,
|
|
|
|
effect: ColorTransitionEffect(
|
|
|
|
spacing: 6.0,
|
|
|
|
radius: 6.0,
|
|
|
|
dotWidth: 6.0,
|
|
|
|
dotHeight: 6.0,
|
|
|
|
dotColor: Theme.of(context)
|
|
|
|
.extension<DashboardPageTheme>()!
|
|
|
|
.indicatorDotTheme
|
|
|
|
.indicatorColor,
|
|
|
|
activeDotColor: Theme.of(context)
|
|
|
|
.extension<DashboardPageTheme>()!
|
|
|
|
.indicatorDotTheme
|
|
|
|
.activeIndicatorColor,
|
|
|
|
),
|
2023-10-03 15:56:10 +01:00
|
|
|
),
|
2025-02-12 06:35:59 -05:00
|
|
|
);
|
|
|
|
},
|
2023-04-14 06:39:08 +02:00
|
|
|
),
|
2025-02-12 06:35:59 -05:00
|
|
|
),
|
|
|
|
),
|
|
|
|
NavigationDock(dashboardViewModel: dashboardViewModel)
|
|
|
|
],
|
|
|
|
),
|
2023-10-03 15:56:10 +01:00
|
|
|
),
|
2023-08-08 16:09:51 +01:00
|
|
|
),
|
|
|
|
);
|
2020-07-06 23:09:03 +03:00
|
|
|
}
|
|
|
|
|
2021-10-01 18:13:10 +03:00
|
|
|
void _setEffects(BuildContext context) async {
|
2025-03-10 11:49:16 +02:00
|
|
|
if (_isEffectsInstalled || !context.mounted) {
|
2020-07-21 20:22:41 +03:00
|
|
|
return;
|
|
|
|
}
|
2023-04-16 14:45:35 +01:00
|
|
|
if (dashboardViewModel.shouldShowMarketPlaceInDashboard) {
|
2023-08-08 16:09:51 +01:00
|
|
|
pages.add(
|
|
|
|
Semantics(
|
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base
* feat: allow scanning elect-rs using get_tweaks
* feat: scanning and adding addresses working with getTweaks, add btc SP address type
* chore: pubspec.lock
* chore: pubspec.lock
* fix: scan when switching, fix multiple unspents in same tx
* fix: initial scan
* fix: initial scan
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* fix: nodes & build
* fix: send all with multiple outs
* refactor: unchanged file
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* fix: scan fixes, add date, allow sending while scanning
* feat: sync fixes, sp settings
* feat: fix resyncing
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* fix: double balance
* feat: node domain
* fix: menu name
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* fix: status toggle
* minor enhancement
* Monero.com fixes
* update sp_scanner to include windows and linux
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 11:43:48 -03:00
|
|
|
label: 'Cake ${S.of(context).features}',
|
|
|
|
child: CakeFeaturesPage(
|
2023-07-13 16:05:52 +03:00
|
|
|
dashboardViewModel: dashboardViewModel,
|
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base
* feat: allow scanning elect-rs using get_tweaks
* feat: scanning and adding addresses working with getTweaks, add btc SP address type
* chore: pubspec.lock
* chore: pubspec.lock
* fix: scan when switching, fix multiple unspents in same tx
* fix: initial scan
* fix: initial scan
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* fix: nodes & build
* fix: send all with multiple outs
* refactor: unchanged file
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* fix: scan fixes, add date, allow sending while scanning
* feat: sync fixes, sp settings
* feat: fix resyncing
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* fix: double balance
* feat: node domain
* fix: menu name
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* fix: status toggle
* minor enhancement
* Monero.com fixes
* update sp_scanner to include windows and linux
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 11:43:48 -03:00
|
|
|
cakeFeaturesViewModel: getIt.get<CakeFeaturesViewModel>(),
|
2023-06-08 02:16:52 +03:00
|
|
|
),
|
|
|
|
),
|
|
|
|
);
|
2023-04-16 14:45:35 +01:00
|
|
|
}
|
2023-07-11 18:21:59 -03:00
|
|
|
pages.add(Semantics(label: S.of(context).balance_page, child: balancePage));
|
2023-08-08 16:09:51 +01:00
|
|
|
pages.add(
|
|
|
|
Semantics(
|
2023-07-11 18:21:59 -03:00
|
|
|
label: S.of(context).settings_transactions,
|
2023-08-08 16:09:51 +01:00
|
|
|
child: TransactionsPage(dashboardViewModel: dashboardViewModel),
|
|
|
|
),
|
|
|
|
);
|
2021-11-02 09:17:24 +00:00
|
|
|
_isEffectsInstalled = true;
|
2022-01-14 00:10:27 +06:00
|
|
|
|
2023-08-07 14:43:04 +03:00
|
|
|
_showReleaseNotesPopup(context);
|
2023-04-21 18:21:31 +03:00
|
|
|
|
2023-12-19 15:16:15 +02:00
|
|
|
_showVulnerableSeedsPopup(context);
|
|
|
|
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 22:43:17 +03:00
|
|
|
_showHavenPopup(context);
|
|
|
|
|
2021-11-02 09:17:24 +00:00
|
|
|
var needToPresentYat = false;
|
|
|
|
|
2025-03-10 11:49:16 +02:00
|
|
|
rootKey.currentState?.isInactive.listen(
|
2023-08-08 16:09:51 +01:00
|
|
|
(inactive) {
|
2021-11-02 09:17:24 +00:00
|
|
|
|
2023-08-08 16:09:51 +01:00
|
|
|
if (needToPresentYat) {
|
|
|
|
Future<void>.delayed(Duration(milliseconds: 500)).then(
|
|
|
|
(_) {
|
|
|
|
showPopUp<void>(
|
|
|
|
context: navigatorKey.currentContext!,
|
|
|
|
builder: (_) => YatEmojiId(dashboardViewModel.yatStore.emoji),
|
|
|
|
);
|
|
|
|
needToPresentYat = false;
|
|
|
|
},
|
|
|
|
);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
);
|
2021-11-02 09:17:24 +00:00
|
|
|
|
2023-08-08 16:09:51 +01:00
|
|
|
dashboardViewModel.yatStore.emojiIncommingStream.listen(
|
|
|
|
(String emoji) {
|
|
|
|
if (!_isEffectsInstalled || emoji.isEmpty) {
|
|
|
|
return;
|
|
|
|
}
|
2021-11-02 09:17:24 +00:00
|
|
|
|
2023-08-08 16:09:51 +01:00
|
|
|
needToPresentYat = true;
|
|
|
|
},
|
|
|
|
);
|
2020-07-21 20:22:41 +03:00
|
|
|
}
|
2023-08-07 14:43:04 +03:00
|
|
|
|
|
|
|
void _showReleaseNotesPopup(BuildContext context) async {
|
|
|
|
final sharedPrefs = await SharedPreferences.getInstance();
|
|
|
|
final currentAppVersion =
|
2023-08-08 16:09:51 +01:00
|
|
|
VersionComparator.getExtendedVersionNumber(dashboardViewModel.settingsStore.appVersion);
|
2023-08-07 14:43:04 +03:00
|
|
|
final lastSeenAppVersion = sharedPrefs.getInt(PreferencesKey.lastSeenAppVersion);
|
|
|
|
final isNewInstall = sharedPrefs.getBool(PreferencesKey.isNewInstall);
|
|
|
|
|
|
|
|
if (currentAppVersion != lastSeenAppVersion && !isNewInstall!) {
|
2023-08-08 16:09:51 +01:00
|
|
|
Future<void>.delayed(
|
|
|
|
Duration(seconds: 1),
|
|
|
|
() {
|
|
|
|
showPopUp<void>(
|
|
|
|
context: context,
|
|
|
|
builder: (BuildContext context) {
|
|
|
|
return ReleaseNotesScreen(
|
|
|
|
title: 'Version ${dashboardViewModel.settingsStore.appVersion}',
|
|
|
|
);
|
|
|
|
},
|
|
|
|
);
|
|
|
|
},
|
|
|
|
);
|
2023-08-07 14:43:04 +03:00
|
|
|
|
|
|
|
sharedPrefs.setInt(PreferencesKey.lastSeenAppVersion, currentAppVersion);
|
|
|
|
} else if (isNewInstall!) {
|
|
|
|
sharedPrefs.setInt(PreferencesKey.lastSeenAppVersion, currentAppVersion);
|
|
|
|
}
|
|
|
|
}
|
2023-12-19 15:16:15 +02:00
|
|
|
|
|
|
|
void _showVulnerableSeedsPopup(BuildContext context) async {
|
|
|
|
final List<String> affectedWalletNames = await dashboardViewModel.checkAffectedWallets();
|
|
|
|
|
|
|
|
if (affectedWalletNames.isNotEmpty) {
|
|
|
|
Future<void>.delayed(
|
|
|
|
Duration(seconds: 1),
|
|
|
|
() {
|
|
|
|
showPopUp<void>(
|
|
|
|
context: context,
|
|
|
|
builder: (BuildContext context) {
|
|
|
|
return VulnerableSeedsPopup(affectedWalletNames);
|
|
|
|
},
|
|
|
|
);
|
|
|
|
},
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 22:43:17 +03:00
|
|
|
|
|
|
|
void _showHavenPopup(BuildContext context) async {
|
|
|
|
final List<String> havenWalletList = await dashboardViewModel.checkForHavenWallets();
|
|
|
|
|
|
|
|
if (havenWalletList.isNotEmpty) {
|
|
|
|
Future<void>.delayed(
|
|
|
|
Duration(seconds: 1),
|
|
|
|
() {
|
|
|
|
showPopUp<void>(
|
|
|
|
context: context,
|
|
|
|
builder: (BuildContext context) {
|
|
|
|
return HavenWalletRemovalPopup(havenWalletList);
|
|
|
|
},
|
|
|
|
);
|
|
|
|
},
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
2022-03-30 17:57:04 +02:00
|
|
|
}
|