From 7a9a58554326bd3b4d53b5889d75084fa3e8bd00 Mon Sep 17 00:00:00 2001 From: Serhii <17529954+serhii-bor@users.noreply.github.com> Date: Thu, 25 Jun 2026 12:25:57 +0300 Subject: [PATCH 1/9] fix-monero-com-backup-restore-bug (#3339) * reject backups from other apps * make compatibility check optional --- lib/core/backup_service_v3.dart | 57 +++++++++++++++-- .../restore/restore_from_backup_page.dart | 62 ++++++++++++++----- .../restore_from_backup_view_model.dart | 9 ++- 3 files changed, 106 insertions(+), 22 deletions(-) diff --git a/lib/core/backup_service_v3.dart b/lib/core/backup_service_v3.dart index 9e9b5b667..7d746ff42 100644 --- a/lib/core/backup_service_v3.dart +++ b/lib/core/backup_service_v3.dart @@ -144,6 +144,21 @@ class BackupMetadata { } } +class IncompatibleBackupAppException implements Exception { + IncompatibleBackupAppException({ + required this.sourceAppName, + required this.currentAppName, + }); + + final String sourceAppName; + final String currentAppName; + + @override + String toString() { + return 'This backup was created in $sourceAppName and cannot be restored in $currentAppName.'; + } +} + class BackupServiceV3 extends $BackupService { BackupServiceV3(super.secureStorage, super.transactionDescriptionBox, super.keyService, super.sharedPreferences); @@ -197,7 +212,8 @@ class BackupServiceV3 extends $BackupService { } } - Future importBackupFile(File file, String password, {String nonce = secrets.backupSalt}) { + Future importBackupFile(File file, String password, + {String nonce = secrets.backupSalt, bool checkBackupApp = true}) { final version = getVersionFile(file); switch (version) { case BackupVersion.unknown: @@ -210,11 +226,12 @@ class BackupServiceV3 extends $BackupService { case BackupVersion.v2: return super.importBackupV2(file.readAsBytesSync(), password); case BackupVersion.v3: - return importBackupFileV3(file, password, nonce: nonce); + return importBackupFileV3(file, password, nonce: nonce, checkBackupApp: checkBackupApp); } } - Future importBackupFileV3(File file, String password, {String nonce = secrets.backupSalt}) async{ + Future importBackupFileV3(File file, String password, + {String nonce = secrets.backupSalt,bool checkBackupApp = true}) async{ // Overall design of v3 backup is the following: // 1. backup.zip - plaintext zip file that user can open with any archive manager // 2. backup.zip/README.txt - text file to let user know what is inside of this file @@ -223,6 +240,11 @@ class BackupServiceV3 extends $BackupService { final inputStream = InputFileStream(file.path); final archive = ZipDecoder().decodeStream(inputStream); + + if (checkBackupApp) { + await _throwIfBackupWasCreatedInAnotherApp(archive); + } + final metadataFile = archive.findFile('metadata.json'); if (metadataFile == null) { throw Exception('Invalid v3 backup: missing metadata.json'); @@ -425,7 +447,7 @@ class BackupServiceV3 extends $BackupService { metadata.sha512sum = (await sha512.bind(dataBinUnencrypted.openRead()).first).toString(); final raf = await dataBinUnencrypted.open(); - + while (true) { printV("Reading chunk ${chunkIndex++}"); @@ -491,6 +513,33 @@ This backup was created on ${DateTime.now().toIso8601String()} return file; } + Future _throwIfBackupWasCreatedInAnotherApp(Archive archive) async { + final readmeFile = archive.findFile('README.txt'); + if (readmeFile == null) return; + + final readmeBytes = readmeFile.rawContent?.readBytes(); + if (readmeBytes == null) return; + + final readmeString = utf8.decode(readmeBytes, allowMalformed: true); + final sourceAppName = _extractBackupAppName(readmeString); + if (sourceAppName == null) return; + + + final currentAppName = (await PackageInfo.fromPlatform()).appName; + if (sourceAppName == currentAppName) return; + + + throw IncompatibleBackupAppException( + sourceAppName: sourceAppName, + currentAppName: currentAppName, + ); + } + + String? _extractBackupAppName(String readme) { + final match = RegExp(r'^This is a (.+) backup\.', multiLine: true).firstMatch(readme); + return match?.group(1)?.trim(); + } + static const chunkSize = 24 * 1024 * 1024; // 24MiB File setVersionFile(File file, BackupVersion version) { diff --git a/lib/src/screens/restore/restore_from_backup_page.dart b/lib/src/screens/restore/restore_from_backup_page.dart index 0f5bdd324..621a880ba 100644 --- a/lib/src/screens/restore/restore_from_backup_page.dart +++ b/lib/src/screens/restore/restore_from_backup_page.dart @@ -1,6 +1,8 @@ +import 'package:cake_wallet/core/backup_service_v3.dart'; import 'package:cake_wallet/core/execution_state.dart'; import 'package:cake_wallet/generated/i18n.dart'; import 'package:cake_wallet/src/widgets/alert_with_one_action.dart'; +import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart'; import 'package:cake_wallet/src/widgets/base_text_form_field.dart'; import 'package:cake_wallet/utils/responsive_layout_util.dart'; import 'package:cake_wallet/utils/show_pop_up.dart'; @@ -18,6 +20,7 @@ class RestoreFromBackupPage extends BasePage { final RestoreFromBackupViewModel restoreFromBackupViewModel; final TextEditingController textEditingController; + bool _isStateReactionSet = false; @override String get title => S.current.restore_title_from_backup; @@ -32,22 +35,26 @@ class RestoreFromBackupPage extends BasePage { @override Widget body(BuildContext context) { - reaction((_) => restoreFromBackupViewModel.state, (ExecutionState state) { - if (state is FailureState) { - WidgetsBinding.instance.addPostFrameCallback((_) { - showPopUp( - context: context, - builder: (BuildContext context) { - return AlertWithOneAction( - alertTitle: S.of(context).error, - alertContent: state.error, - buttonText: S.of(context).ok, - buttonAction: () => Navigator.of(context).pop(), - ); - }); - }); - } - }); + if (!_isStateReactionSet) { + _isStateReactionSet = true; + + reaction((_) => restoreFromBackupViewModel.state, (ExecutionState state) { + if (state is FailureState) { + WidgetsBinding.instance.addPostFrameCallback((_) { + showPopUp( + context: context, + builder: (BuildContext context) { + return AlertWithOneAction( + alertTitle: S.of(context).error, + alertContent: state.error, + buttonText: S.of(context).ok, + buttonAction: () => Navigator.of(context).pop(), + ); + }); + }); + } + }); + } return Center( child: ConstrainedBox( @@ -175,6 +182,29 @@ class RestoreFromBackupPage extends BasePage { } try { await restoreFromBackupViewModel.import(textEditingController.text); + } on IncompatibleBackupAppException catch (e) { + final isConfirmed = await showPopUp( + context: context, + builder: (_) { + return AlertWithTwoActions( + alertTitle: S.current.warning, + alertContent: + 'This backup was created in ${e.sourceAppName}, but you are restoring it in ${e.currentAppName}. ' + 'Please make sure this is the correct backup file before continuing.', + leftButtonText: S.of(context).cancel, + rightButtonText: S.of(context).ok, + actionLeftButton: () => Navigator.of(context).pop(false), + actionRightButton: () => Navigator.of(context).pop(true), + ); + }, + ); + + if (isConfirmed ?? false) { + await restoreFromBackupViewModel.import( + textEditingController.text, + checkBackupApp: false, + ); + } } catch (e) { await showPopUp( context: context, diff --git a/lib/view_model/restore_from_backup_view_model.dart b/lib/view_model/restore_from_backup_view_model.dart index 6a54cf4cc..40e2891f7 100644 --- a/lib/view_model/restore_from_backup_view_model.dart +++ b/lib/view_model/restore_from_backup_view_model.dart @@ -32,7 +32,7 @@ abstract class RestoreFromBackupViewModelBase with Store { void reset() => filePath = ''; @action - Future import(String password) async { + Future import(String password,{bool checkBackupApp = true}) async { try { state = IsExecutingState(); @@ -44,7 +44,9 @@ abstract class RestoreFromBackupViewModelBase with Store { final file = File(filePath); try { - await backupService.importBackupFile(file, password); + await backupService.importBackupFile(file, password, checkBackupApp: checkBackupApp); + } on IncompatibleBackupAppException { + rethrow; } catch (e, s) { if (e.toString().contains("unknown_backup_version")) { state = FailureState('This is not a valid backup file, please make sure you have selected the correct one'); @@ -74,6 +76,9 @@ abstract class RestoreFromBackupViewModelBase with Store { }); state = ExecutedSuccessfullyState(); + } on IncompatibleBackupAppException { + state = InitialExecutionState(); + rethrow; } catch (e, s) { var msg = e.toString().toLowerCase(); From d3a1464775911dcffa6dc912d04fad8e7c1d168b Mon Sep 17 00:00:00 2001 From: malik1004x Date: Thu, 25 Jun 2026 11:29:42 +0200 Subject: [PATCH 2/9] improve address rotation button ui + fix bug when autogenerate is disabled (#3334) * improve address rotation button ui + fix bug when autogenerate is disabled * remove dumbass debug print * add button show condition --- lib/new-ui/pages/receive_page.dart | 50 +++++++++++-------- .../wallet_address_list_view_model.dart | 13 ++++- 2 files changed, 41 insertions(+), 22 deletions(-) diff --git a/lib/new-ui/pages/receive_page.dart b/lib/new-ui/pages/receive_page.dart index 9ad2d7d2f..84d1e935a 100644 --- a/lib/new-ui/pages/receive_page.dart +++ b/lib/new-ui/pages/receive_page.dart @@ -1,6 +1,7 @@ import 'package:cake_wallet/core/utilities.dart'; import 'package:cake_wallet/entities/auto_generate_subaddress_status.dart'; import 'package:cake_wallet/generated/i18n.dart'; +import 'package:cake_wallet/new-ui/widgets/modern_button.dart'; import 'package:cake_wallet/new-ui/widgets/receive_page/payjoin_copy_modal.dart'; import 'package:cake_wallet/new-ui/widgets/receive_page/receive_address_type.dart'; import 'package:cake_wallet/new-ui/widgets/receive_page/receive_address_widget.dart'; @@ -22,6 +23,7 @@ import 'package:cw_core/crypto_currency.dart'; import 'package:cw_core/payment_uris.dart'; import 'package:cw_core/receive_page_option.dart'; import 'package:cw_core/utils/print_verbose.dart'; +import 'package:flutter/cupertino.dart'; import 'package:flutter_mobx/flutter_mobx.dart'; import 'package:mobx/mobx.dart'; import 'package:modal_bottom_sheet/modal_bottom_sheet.dart'; @@ -194,29 +196,37 @@ class _NewReceivePageState extends State { ModalTopBar( title: _largeQrMode ? "" : S.of(context).receive, leadingIcon: Icon(Icons.close), - trailingIcon: _largeQrMode - ? Icon(Icons.share) - : widget.addressListViewModel.hasAddressRotation - /* TODO rotating is broken on mweb, disabling for now, fix after mvp*/ - && - !(widget.receiveOptionViewModel.selectedReceiveOption.description ?? "") - .toLowerCase() - .contains("mweb") - ? Icon(Icons.refresh) - : null, onLeadingPressed: () { Navigator.of(context, rootNavigator: true).pop(); }, - onTrailingPressed: () { - if (_largeQrMode) { - ShareUtil.share( - text: widget.addressListViewModel.uri.toString(), - context: context, - ); - } else if (widget.addressListViewModel.hasAddressRotation) { - widget.addressListViewModel.rotateAddress(); - } - }, + trailingWidget: Observer( + builder: (_) => AnimatedSwitcher( + duration: Duration(milliseconds: 300), + child: _largeQrMode || widget.addressListViewModel.hasAddressRotation + /* TODO rotating is broken on mweb, disabling for now, fix after mvp*/ + && + !(widget.receiveOptionViewModel.selectedReceiveOption.description ?? "") + .toLowerCase() + .contains("mweb") ? ModernButton( + key: ValueKey(_largeQrMode), + size: 36, + icon: _largeQrMode ? Icon(Icons.share) : widget.addressListViewModel.isRotatingAddress + ? CupertinoActivityIndicator() + : Icon(Icons.refresh), + onPressed: () { + if(_largeQrMode) { + ShareUtil.share( + text: widget.addressListViewModel.uri.toString(), + context: context, + ); + } else { + if(widget.addressListViewModel.hasAddressRotation) { + widget.addressListViewModel.rotateAddress(); + } + } + }):SizedBox.shrink(), + ), + ), ), Expanded( child: Column( 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 f097e5d12..b69558bff 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 @@ -614,11 +614,20 @@ abstract class WalletAddressListViewModelBase extends WalletChangeListenerViewMo void setAddress(WalletAddressListItem address) => wallet.walletAddresses.address = address.address; + @observable + bool isRotatingAddress = false; + @action Future rotateAddress() async { - await createNewAddress(wallet, ""); - if (isElectrumWallet) { + if(isRotatingAddress) { + return; + } + try { + isRotatingAddress = true; + await createNewAddress(wallet, ""); wallet.walletAddresses.address = addressList.whereType().last.address; + } finally { + isRotatingAddress = false; } } From eaa8338a52f693e438dc46a7541c2b205c634c28 Mon Sep 17 00:00:00 2001 From: malik1004x Date: Thu, 25 Jun 2026 12:05:05 +0200 Subject: [PATCH 3/9] prevent trade.from saving as null + fallback when it does (#3346) --- .../near_Intents_exchange_provider.dart | 4 +-- .../assets_history/history_section.dart | 3 -- .../assets_history/history_trade_tile.dart | 29 ++++++++++++------- lib/src/screens/dev/moneroc_cache_debug.dart | 2 ++ .../exchange/exchange_view_model.dart | 6 ++++ 5 files changed, 28 insertions(+), 16 deletions(-) diff --git a/lib/exchange/provider/near_Intents_exchange_provider.dart b/lib/exchange/provider/near_Intents_exchange_provider.dart index 480fc6abe..2a6a86143 100644 --- a/lib/exchange/provider/near_Intents_exchange_provider.dart +++ b/lib/exchange/provider/near_Intents_exchange_provider.dart @@ -280,8 +280,8 @@ class NearIntentsExchangeProvider extends ExchangeProvider { final trade = Trade( id: depositAddress, // Using deposit address as trade ID - from: from, - to: to, + from: request.fromCurrency, + to: request.toCurrency, provider: description, providerName: title, state: TradeState.created, diff --git a/lib/new-ui/widgets/coins_page/assets_history/history_section.dart b/lib/new-ui/widgets/coins_page/assets_history/history_section.dart index 32d99020b..8861523f3 100644 --- a/lib/new-ui/widgets/coins_page/assets_history/history_section.dart +++ b/lib/new-ui/widgets/coins_page/assets_history/history_section.dart @@ -101,9 +101,6 @@ class HistorySection extends StatelessWidget { final trade = item.trade; final tradeFrom = trade.from; final tradeTo = trade.to; - if (tradeFrom == null || tradeTo == null) { - return const SizedBox.shrink(); - } return GestureDetector( onTap: () => Navigator.of(context) diff --git a/lib/new-ui/widgets/coins_page/assets_history/history_trade_tile.dart b/lib/new-ui/widgets/coins_page/assets_history/history_trade_tile.dart index 3e859803d..f762a3230 100644 --- a/lib/new-ui/widgets/coins_page/assets_history/history_trade_tile.dart +++ b/lib/new-ui/widgets/coins_page/assets_history/history_trade_tile.dart @@ -15,13 +15,13 @@ class HistoryTradeTile extends StatelessWidget { required this.roundedTop, required this.roundedBottom, required this.bottomSeparator, - required this.from, - required this.to, + this.from, + this.to, required this.swapState, required this.provider}); - final CryptoCurrency from; - final CryptoCurrency to; + final CryptoCurrency? from; + final CryptoCurrency? to; final ExchangeProviderDescription provider; final String date; final String amount; @@ -32,6 +32,11 @@ class HistoryTradeTile extends StatelessWidget { final TradeState swapState; Widget _getLeadingStack(BuildContext context) { + if (from == null || to == null) { + return SizedBox(width: 50, height: 50); + } + + double currencyIconSize = 22.0; return SizedBox( @@ -40,7 +45,7 @@ class HistoryTradeTile extends StatelessWidget { child: Stack( children: [ CakeImageWidget( - imageUrl: _getIconPath(from), width: currencyIconSize, height: currencyIconSize), + imageUrl: _getIconPath(from!), width: currencyIconSize, height: currencyIconSize), Positioned( top: currencyIconSize / 2, left: currencyIconSize / 2, @@ -50,7 +55,7 @@ class HistoryTradeTile extends StatelessWidget { Border.all(width: 2, color: Theme.of(context).colorScheme.surfaceContainer), shape: BoxShape.circle), child: CakeImageWidget( - imageUrl: _getIconPath(to), + imageUrl: _getIconPath(to!), width: currencyIconSize, height: currencyIconSize, ), @@ -85,8 +90,8 @@ class HistoryTradeTile extends StatelessWidget { style: TextStyle( color: Theme.of(context).colorScheme.onSurfaceVariant, fontWeight: FontWeight.w500)), - Text(from.title, style: TextStyle(color: Theme.of(context).colorScheme.onSurfaceVariant)), - if (fromChainIcon.isNotEmpty) + if(from?.title != null) Text(from!.title, style: TextStyle(color: Theme.of(context).colorScheme.onSurfaceVariant)), + if (fromChainIcon?.isNotEmpty ?? false) CakeImageWidget( imageUrl: fromChainIcon, width: 12, @@ -106,10 +111,11 @@ class HistoryTradeTile extends StatelessWidget { receiveAmount.withMaxDecimals(8), style: TextStyle(fontWeight: FontWeight.w500), ), + if(to!=null) Text( - to.title, + to!.title, ), - if (toChainIcon.isNotEmpty) CakeImageWidget(imageUrl: toChainIcon, width: 12, height: 12) + if (toChainIcon?.isNotEmpty ?? false) CakeImageWidget(imageUrl: toChainIcon, width: 12, height: 12) ], ), leadingIcon: _getLeadingStack(context), @@ -137,7 +143,8 @@ class HistoryTradeTile extends StatelessWidget { return ""; } - String _getChainIcon(CryptoCurrency currency) { + String? _getChainIcon(CryptoCurrency? currency) { + if(currency == null) return null; try { if (currency.title.isNotEmpty) { final parsedCurrency = CryptoCurrency.safeParseCurrencyFromString(currency.title, tag: currency.tag); diff --git a/lib/src/screens/dev/moneroc_cache_debug.dart b/lib/src/screens/dev/moneroc_cache_debug.dart index 6c0b20827..0e6b5c618 100644 --- a/lib/src/screens/dev/moneroc_cache_debug.dart +++ b/lib/src/screens/dev/moneroc_cache_debug.dart @@ -9,6 +9,7 @@ import 'package:cw_core/root_dir.dart'; import 'package:cw_core/wallet_type.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:modal_bottom_sheet/modal_bottom_sheet.dart'; import 'package:path/path.dart' as path; class DevMoneroWalletCacheDebugPage extends StatelessWidget { @@ -263,6 +264,7 @@ class _JsonExplorerState extends State { ), ) : ListView.builder( + controller: ModalScrollController.of(context), itemCount: _filteredItems.length, itemBuilder: (context, index) { final item = _filteredItems[index]; diff --git a/lib/view_model/exchange/exchange_view_model.dart b/lib/view_model/exchange/exchange_view_model.dart index 5fb896f53..792b23f12 100644 --- a/lib/view_model/exchange/exchange_view_model.dart +++ b/lib/view_model/exchange/exchange_view_model.dart @@ -1242,6 +1242,12 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with trade.walletId = wallet.id; trade.chainId = wallet.chainId; trade.fromWalletAddress = wallet.walletAddresses.address; + if(trade.from == null) { + trade.from = depositCurrency; + } + if(trade.to == null) { + trade.to = receiveCurrency; + } final canCreateTrade = await isCanCreateTrade(trade); if (!canCreateTrade.result) { From d09391bf99ba3ec6eb78e2958edd15df30ee6839 Mon Sep 17 00:00:00 2001 From: malik1004x Date: Fri, 26 Jun 2026 15:03:31 +0200 Subject: [PATCH 4/9] Upgrade Flutter version to 3.41.9 (#3213) * commit generated files and remove codegen metadata * remove hive_generator dependency * update dependencies * update intl * update ios project files * update native code * update android deps * update image name in ci * revert impeller * re-ignore min version error * fix cw_decred dependency * update hive in cw_core * fix docker build cache for decred * fix conflict * prevent frozen coins being reset on coin info refresh * fix for makeSecure --------- Co-authored-by: Omar Hatem --- .github/workflows/pr_test_build_linux.yml | 2 +- .github/workflows/reusable-build.yml | 2 +- Dockerfile | 4 +- android/gradle.properties | 3 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- android/settings.gradle | 4 +- cw_bitcoin/lib/electrum_wallet.dart | 1 + cw_bitcoin/pubspec.lock | 143 ++++--------- cw_bitcoin/pubspec.yaml | 12 +- cw_bitcoin_cash/pubspec.yaml | 11 +- cw_core/lib/address_info.dart | 10 +- cw_core/lib/address_info.part.dart | 47 +++++ cw_core/lib/erc20_token.dart | 20 +- cw_core/lib/erc20_token.part.dart | 61 ++++++ cw_core/lib/mweb_utxo.dart | 16 +- cw_core/lib/mweb_utxo.part.dart | 56 +++++ cw_core/lib/nano_account.dart | 12 +- cw_core/lib/nano_account.part.dart | 50 +++++ cw_core/lib/node_legacy.dart | 2 +- cw_core/lib/node_legacy.part.dart | 78 +++++++ cw_core/lib/payjoin_session.dart | 22 +- cw_core/lib/payjoin_session.part.dart | 65 ++++++ cw_core/lib/spl_token.dart | 22 +- cw_core/lib/spl_token.part.dart | 64 ++++++ cw_core/lib/tron_token.dart | 20 +- cw_core/lib/tron_token.part.dart | 61 ++++++ cw_core/lib/unspent_coins_info.dart | 28 +-- cw_core/lib/unspent_coins_info.part.dart | 74 +++++++ cw_core/lib/wallet_type.dart | 44 ++-- cw_core/lib/wallet_type.part.dart | 136 ++++++++++++ cw_core/lib/zano_asset.dart | 30 +-- cw_core/lib/zano_asset.part.dart | 76 +++++++ cw_core/pubspec.lock | 145 ++++--------- cw_core/pubspec.yaml | 12 +- cw_decred/pubspec.lock | 153 ++++---------- cw_decred/pubspec.yaml | 9 +- cw_dogecoin/pubspec.yaml | 11 +- cw_evm/pubspec.yaml | 2 +- cw_monero/pubspec.lock | 139 ++++-------- cw_monero/pubspec.yaml | 12 +- cw_nano/pubspec.lock | 147 ++++--------- cw_nano/pubspec.yaml | 9 +- cw_solana/pubspec.yaml | 2 +- cw_tron/pubspec.yaml | 2 +- cw_wownero/pubspec.lock | 151 ++++--------- cw_wownero/pubspec.yaml | 12 +- cw_zano/pubspec.lock | 151 ++++--------- cw_zano/pubspec.yaml | 12 +- cw_zcash/pubspec.yaml | 11 +- docs/ADDING_NEW_WALLET_TYPES.md | 1 - docs/builds/ANDROID.md | 4 +- docs/builds/LINUX.md | 4 +- ios/Podfile.lock | 59 +++--- ios/Runner.xcodeproj/project.pbxproj | 6 +- ios/Runner/AppDelegate.swift | 199 ++++++++++-------- ios/Runner/InfoBase.plist | 21 ++ lib/anonpay/anonpay_invoice_info.dart | 32 +-- lib/anonpay/anonpay_invoice_info.part.dart | 80 +++++++ lib/entities/contact.dart | 14 +- lib/entities/contact.part.dart | 52 +++++ lib/entities/haven_seed_store.dart | 8 +- lib/entities/haven_seed_store.part.dart | 44 ++++ lib/entities/template.dart | 20 +- lib/entities/template.part.dart | 62 ++++++ lib/entities/transaction_description.dart | 12 +- .../transaction_description.part.dart | 51 +++++ lib/exchange/exchange_template.dart | 20 +- lib/exchange/exchange_template.part.dart | 62 ++++++ lib/locales/hausa_intl.dart | 19 ++ lib/locales/yoruba_intl.dart | 19 ++ lib/order/order.dart | 30 +-- lib/order/order.part.dart | 77 +++++++ pubspec_base.yaml | 13 +- scripts/android/docker/Dockerfile.base | 2 +- scripts/android/docker/build.sh | 2 +- scripts/linux/build_cake_release.sh | 2 +- tool/localization/localization_constants.dart | 9 + 77 files changed, 1949 insertions(+), 1133 deletions(-) create mode 100644 cw_core/lib/address_info.part.dart create mode 100644 cw_core/lib/erc20_token.part.dart create mode 100644 cw_core/lib/mweb_utxo.part.dart create mode 100644 cw_core/lib/nano_account.part.dart create mode 100644 cw_core/lib/node_legacy.part.dart create mode 100644 cw_core/lib/payjoin_session.part.dart create mode 100644 cw_core/lib/spl_token.part.dart create mode 100644 cw_core/lib/tron_token.part.dart create mode 100644 cw_core/lib/unspent_coins_info.part.dart create mode 100644 cw_core/lib/wallet_type.part.dart create mode 100644 cw_core/lib/zano_asset.part.dart create mode 100644 lib/anonpay/anonpay_invoice_info.part.dart create mode 100644 lib/entities/contact.part.dart create mode 100644 lib/entities/haven_seed_store.part.dart create mode 100644 lib/entities/template.part.dart create mode 100644 lib/entities/transaction_description.part.dart create mode 100644 lib/exchange/exchange_template.part.dart create mode 100644 lib/order/order.part.dart diff --git a/.github/workflows/pr_test_build_linux.yml b/.github/workflows/pr_test_build_linux.yml index b9b021896..b1f74570f 100644 --- a/.github/workflows/pr_test_build_linux.yml +++ b/.github/workflows/pr_test_build_linux.yml @@ -9,7 +9,7 @@ jobs: PR_test_build: runs-on: [Linux, amd64, forlinux] container: - image: ghcr.io/cake-tech/cake_wallet:debian13-flutter3.32.0-ndkr28-go1.24.1-ruststablenightly + image: ghcr.io/cake-tech/cake_wallet:debian13-flutter3.41.9-ndkr28-go1.24.1-ruststablenightly env: STORE_PASS: test@cake_wallet KEY_PASS: test@cake_wallet diff --git a/.github/workflows/reusable-build.yml b/.github/workflows/reusable-build.yml index 5d475c71a..c6082d4e0 100644 --- a/.github/workflows/reusable-build.yml +++ b/.github/workflows/reusable-build.yml @@ -21,7 +21,7 @@ jobs: PR_test_build: runs-on: [Linux, amd64, android] container: - image: ghcr.io/cake-tech/cake_wallet:debian13-flutter3.32.0-ndkr28-go1.24.1-ruststablenightly + image: ghcr.io/cake-tech/cake_wallet:debian13-flutter3.41.9-ndkr28-go1.24.1-ruststablenightly env: STORE_PASS: test@cake_wallet KEY_PASS: test@cake_wallet diff --git a/Dockerfile b/Dockerfile index 773ac6822..7a0c8c022 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -# docker buildx build --push --pull --platform linux/amd64,linux/arm64 . -f Dockerfile -t ghcr.io/cake-tech/cake_wallet:debian13-flutter3.32.0-ndkr28-go1.24.1-ruststablenightly +# docker buildx build --push --pull --platform linux/amd64,linux/arm64 . -f Dockerfile -t ghcr.io/cake-tech/cake_wallet:debian13-flutter3.41.9-ndkr28-go1.24.1-ruststablenightly # Heavily inspired by cirrusci images # https://github.com/cirruslabs/docker-images-android/blob/master/sdk/tools/Dockerfile @@ -15,7 +15,7 @@ LABEL org.opencontainers.image.source=https://github.com/cake-tech/cake_wallet ENV GOLANG_VERSION=1.24.1 # Pin Flutter version to latest known-working version -ENV FLUTTER_VERSION=3.32.0 +ENV FLUTTER_VERSION=3.41.9 # Pin Android Studio, platform, and build tools versions to latest known-working version # Comes from https://developer.android.com/studio/#command-tools diff --git a/android/gradle.properties b/android/gradle.properties index 184d30421..7be3f195e 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,5 +1,4 @@ org.gradle.jvmargs=-Xmx6144M -android.enableR8=true android.useAndroidX=true android.enableJetifier=true -android.ndk.suppressMinSdkVersionError=21 +android.ndk.suppressMinSdkVersionError=21 \ No newline at end of file diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 0cc4e42b9..c494406ec 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.4-all.zip diff --git a/android/settings.gradle b/android/settings.gradle index 468f9b55f..b6764328b 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -18,8 +18,8 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "8.7.1" apply false - id "org.jetbrains.kotlin.android" version "2.0.21" apply false + id "com.android.application" version "8.9.1" apply false + id "org.jetbrains.kotlin.android" version "2.3.20" apply false id "com.google.gms.google-services" version "4.3.8" apply false } diff --git a/cw_bitcoin/lib/electrum_wallet.dart b/cw_bitcoin/lib/electrum_wallet.dart index 3231914db..381b7b629 100644 --- a/cw_bitcoin/lib/electrum_wallet.dart +++ b/cw_bitcoin/lib/electrum_wallet.dart @@ -2038,6 +2038,7 @@ abstract class ElectrumWalletBase unspentCoinsInfo.values.where((record) => record.walletId == id); for (final element in currentWalletUnspentCoins) { + if (element.isFrozen) continue; if (RegexUtils.addressTypeFromStr(element.address, network) is MwebAddress) continue; final existUnspentCoins = unspentCoins.where((coin) => element == coin); diff --git a/cw_bitcoin/pubspec.lock b/cw_bitcoin/pubspec.lock index b7e893e90..b35b2bf09 100644 --- a/cw_bitcoin/pubspec.lock +++ b/cw_bitcoin/pubspec.lock @@ -5,23 +5,18 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab" + sha256: "5b7468c326d2f8a4f630056404ca0d291ade42918f4a3c6233618e724f39da8e" url: "https://pub.dev" source: hosted - version: "76.0.0" - _macros: - dependency: transitive - description: dart - source: sdk - version: "0.3.3" + version: "92.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e" + sha256: "70e4b1ef8003c64793a9e268a551a82869a8a96f39deb73dea28084b0e8bf75e" url: "https://pub.dev" source: hosted - version: "6.11.0" + version: "9.0.0" args: dependency: transitive description: @@ -151,10 +146,10 @@ packages: dependency: transitive description: name: build - sha256: cef23f1eda9b57566c81e2133d196f8e3df48f244b317368d65c5943d91148f0 + sha256: a156715e7cd728130c592f30552575908aae5b100005fbc1f0fb16b3c03a3d10 url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "4.0.6" build_cli_annotations: dependency: transitive description: @@ -167,10 +162,10 @@ packages: dependency: transitive description: name: build_config - sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33" + sha256: "4070d2a59f8eec34c97c86ceb44403834899075f66e8a9d59706f8e7834f6f71" url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.3.0" build_daemon: dependency: transitive description: @@ -179,30 +174,14 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.4" - build_resolvers: - dependency: "direct dev" - description: - name: build_resolvers - sha256: b9e4fda21d846e192628e7a4f6deda6888c36b5b69ba02ff291a01fd529140f0 - url: "https://pub.dev" - source: hosted - version: "2.4.4" build_runner: dependency: "direct dev" description: name: build_runner - sha256: "058fe9dce1de7d69c4b84fada934df3e0153dd000758c4d65964d0166779aa99" + sha256: "1523ce62448ebac2c15a8ba5fbad8acac169788658a7dd2a1c2d9c2a9318b9a6" url: "https://pub.dev" source: hosted - version: "2.4.15" - build_runner_core: - dependency: transitive - description: - name: build_runner_core - sha256: "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021" - url: "https://pub.dev" - source: hosted - version: "8.0.0" + version: "2.15.0" built_collection: dependency: transitive description: @@ -232,10 +211,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" checked_yaml: dependency: transitive description: @@ -326,10 +305,10 @@ packages: dependency: transitive description: name: dart_style - sha256: "7306ab8a2359a48d22310ad823521d723acfed60ee1f7e37388e8986853b6820" + sha256: a9c30492da18ff84efe2422ba2d319a89942d93e58eb0b73d32abe822ef54b7b url: "https://pub.dev" source: hosted - version: "2.3.8" + version: "3.1.3" dart_varuint_bitcoin: dependency: transitive description: @@ -449,14 +428,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.1.0" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 - url: "https://pub.dev" - source: hosted - version: "4.0.0" glob: dependency: transitive description: @@ -506,18 +477,10 @@ packages: source: hosted version: "0.2.0" hive: - dependency: transitive - description: - name: hive - sha256: "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941" - url: "https://pub.dev" - source: hosted - version: "2.2.3" - hive_generator: dependency: "direct dev" description: - name: hive_generator - sha256: "06cb8f58ace74de61f63500564931f9505368f45f98958bd7a6c35ba24159db4" + name: hive + sha256: "5184b6ea455689754578267c31c3b0b329cccf20a5f2bfdab6941c29c3d3c09a" url: "https://pub.dev" source: hosted version: "2.0.1" @@ -589,26 +552,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" url: "https://pub.dev" source: hosted - version: "10.0.9" + version: "11.0.2" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" url: "https://pub.dev" source: hosted - version: "3.0.9" + version: "3.0.10" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" ledger_bitcoin: dependency: "direct main" description: @@ -651,38 +614,30 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.0" - macros: - dependency: transitive - description: - name: macros - sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656" - url: "https://pub.dev" - source: hosted - version: "0.1.3-main.0" matcher: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.19" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" meta: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" mime: dependency: transitive description: @@ -695,26 +650,26 @@ packages: dependency: "direct main" description: name: mobx - sha256: bf1a90e5bcfd2851fc6984e20eef69557c65d9e4d0a88f5be4cf72c9819ce6b0 + sha256: "25ea9a3ee69243d578fb6288721d8eeb18550d0391c32f896d377d994154bff2" url: "https://pub.dev" source: hosted - version: "2.5.0" + version: "2.6.0" mobx_codegen: dependency: "direct dev" description: name: mobx_codegen - sha256: e0abbbc651a69550440f6b65c99ec222a1e2a4afd7baec8ba0f3088c7ca582a8 + sha256: "6529bcae074838004b58ad01fbe4966be182a176aacfb723686985986ebac19f" url: "https://pub.dev" source: hosted - version: "2.7.1" + version: "2.7.7" mockito: dependency: transitive description: name: mockito - sha256: f99d8d072e249f719a5531735d146d8cf04c580d93920b04de75bef6dfb2daf6 + sha256: eff30d002f0c8bf073b6f929df4483b543133fcafce056870163587b03f1d422 url: "https://pub.dev" source: hosted - version: "5.4.5" + version: "5.6.4" nested: dependency: transitive description: @@ -1000,18 +955,10 @@ packages: dependency: transitive description: name: source_gen - sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" + sha256: ec37cc0e6694374cbef59ed79685572c870a54ede6fa30a3e420feb3adffea02 url: "https://pub.dev" source: hosted - version: "1.5.0" - source_helper: - dependency: transitive - description: - name: source_helper - sha256: "86d247119aedce8e63f4751bd9626fc9613255935558447569ad42f9f5b48b3c" - url: "https://pub.dev" - source: hosted - version: "1.3.5" + version: "4.2.3" source_span: dependency: transitive description: @@ -1153,18 +1100,10 @@ packages: dependency: transitive description: name: test_api - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a" url: "https://pub.dev" source: hosted - version: "0.7.4" - timing: - dependency: transitive - description: - name: timing - sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe" - url: "https://pub.dev" - source: hosted - version: "1.0.2" + version: "0.7.10" torch_dart: dependency: transitive description: @@ -1306,10 +1245,10 @@ packages: dependency: transitive description: name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.2.0" vm_service: dependency: transitive description: @@ -1383,5 +1322,5 @@ packages: source: hosted version: "2.2.2" sdks: - dart: ">=3.8.0 <4.0.0" + dart: ">=3.9.0 <4.0.0" flutter: ">=3.29.0" diff --git a/cw_bitcoin/pubspec.yaml b/cw_bitcoin/pubspec.yaml index 28e99f483..b0752cf79 100644 --- a/cw_bitcoin/pubspec.yaml +++ b/cw_bitcoin/pubspec.yaml @@ -14,8 +14,8 @@ dependencies: sdk: flutter path_provider: ^2.0.11 http: ^1.1.0 - mobx: ^2.0.7+4 - flutter_mobx: ^2.0.6+1 + mobx: ^2.6.0 + flutter_mobx: ^2.3.0 intl: any shared_preferences: ^2.0.15 cw_core: @@ -77,10 +77,10 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - build_runner: ^2.4.15 - build_resolvers: ^2.4.4 - mobx_codegen: ^2.0.7 - hive_generator: ^2.0.1 + build_runner: ^2.15.0 + mobx_codegen: ^2.7.6 +# hive_generator: ^2.0.1 + hive: 2.0.1 dependency_overrides: watcher: ^1.1.0 diff --git a/cw_bitcoin_cash/pubspec.yaml b/cw_bitcoin_cash/pubspec.yaml index 7ddecdf94..ec6e6bebc 100644 --- a/cw_bitcoin_cash/pubspec.yaml +++ b/cw_bitcoin_cash/pubspec.yaml @@ -15,8 +15,8 @@ dependencies: bip39: ^1.0.6 bip32: ^2.0.0 path_provider: ^2.0.11 - mobx: ^2.0.7+4 - flutter_mobx: ^2.0.6+1 + mobx: ^2.6.0 + flutter_mobx: ^2.3.0 cw_core: path: ../cw_core cw_bitcoin: @@ -33,9 +33,10 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - build_runner: ^2.4.15 - mobx_codegen: ^2.0.7 - hive_generator: ^2.0.1 + build_runner: ^2.15.0 + mobx_codegen: ^2.7.6 +# hive_generator: ^2.0.1 + hive: 2.0.1 dependency_overrides: watcher: ^1.1.0 diff --git a/cw_core/lib/address_info.dart b/cw_core/lib/address_info.dart index 63dc023ab..8d2ec6ebf 100644 --- a/cw_core/lib/address_info.dart +++ b/cw_core/lib/address_info.dart @@ -1,21 +1,21 @@ import 'package:cw_core/hive_type_ids.dart'; import 'package:hive/hive.dart'; -part 'address_info.g.dart'; +part 'address_info.part.dart'; -@HiveType(typeId: ADDRESS_INFO_TYPE_ID) +// @HiveType(typeId: ADDRESS_INFO_TYPE_ID) class AddressInfo extends HiveObject { AddressInfo({required this.address, this.accountIndex, required this.label}); static const typeId = ADDRESS_INFO_TYPE_ID; static const boxName = 'AddressInfo'; - @HiveField(0) + // @HiveField(0) int? accountIndex; - @HiveField(1, defaultValue: '') + // @HiveField(1, defaultValue: '') String address; - @HiveField(2, defaultValue: '') + // @HiveField(2, defaultValue: '') String label; } diff --git a/cw_core/lib/address_info.part.dart b/cw_core/lib/address_info.part.dart new file mode 100644 index 000000000..75b2247fa --- /dev/null +++ b/cw_core/lib/address_info.part.dart @@ -0,0 +1,47 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'address_info.dart'; + +// ************************************************************************** +// TypeAdapterGenerator +// ************************************************************************** + +class AddressInfoAdapter extends TypeAdapter { + @override + final int typeId = 11; + + @override + AddressInfo read(BinaryReader reader) { + final numOfFields = reader.readByte(); + final fields = { + for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(), + }; + return AddressInfo( + address: fields[1] == null ? '' : fields[1] as String, + accountIndex: fields[0] as int?, + label: fields[2] == null ? '' : fields[2] as String, + ); + } + + @override + void write(BinaryWriter writer, AddressInfo obj) { + writer + ..writeByte(3) + ..writeByte(0) + ..write(obj.accountIndex) + ..writeByte(1) + ..write(obj.address) + ..writeByte(2) + ..write(obj.label); + } + + @override + int get hashCode => typeId.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is AddressInfoAdapter && + runtimeType == other.runtimeType && + typeId == other.typeId; +} diff --git a/cw_core/lib/erc20_token.dart b/cw_core/lib/erc20_token.dart index e19cbc63f..d5fde7aa2 100644 --- a/cw_core/lib/erc20_token.dart +++ b/cw_core/lib/erc20_token.dart @@ -2,25 +2,25 @@ import 'package:cw_core/crypto_currency.dart'; import 'package:cw_core/hive_type_ids.dart'; import 'package:hive/hive.dart'; -part 'erc20_token.g.dart'; +part 'erc20_token.part.dart'; -@HiveType(typeId: Erc20Token.typeId) +// @HiveType(typeId: Erc20Token.typeId) class Erc20Token extends CryptoCurrency with HiveObjectMixin { - @HiveField(0) + // @HiveField(0) final String name; - @HiveField(1) + // @HiveField(1) final String symbol; - @HiveField(2) + // @HiveField(2) final String contractAddress; - @HiveField(3) + // @HiveField(3) final int decimal; - @HiveField(4, defaultValue: true) + // @HiveField(4, defaultValue: true) bool _enabled; - @HiveField(5) + // @HiveField(5) String? iconPath; - @HiveField(6) + // @HiveField(6) final String? tag; - @HiveField(7, defaultValue: false) + // @HiveField(7, defaultValue: false) bool isPotentialScam; bool get enabled => _enabled; diff --git a/cw_core/lib/erc20_token.part.dart b/cw_core/lib/erc20_token.part.dart new file mode 100644 index 000000000..14c61b5b1 --- /dev/null +++ b/cw_core/lib/erc20_token.part.dart @@ -0,0 +1,61 @@ + // GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'erc20_token.dart'; + +// ************************************************************************** +// TypeAdapterGenerator +// ************************************************************************** + +class Erc20TokenAdapter extends TypeAdapter { + @override + final int typeId = 12; + + @override + Erc20Token read(BinaryReader reader) { + final numOfFields = reader.readByte(); + final fields = { + for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(), + }; + return Erc20Token( + name: fields[0] as String, + symbol: fields[1] as String, + contractAddress: fields[2] as String, + decimal: fields[3] as int, + iconPath: fields[5] as String?, + tag: fields[6] as String?, + isPotentialScam: fields[7] == null ? false : fields[7] as bool, + ).._enabled = fields[4] == null ? true : fields[4] as bool; + } + + @override + void write(BinaryWriter writer, Erc20Token obj) { + writer + ..writeByte(8) + ..writeByte(0) + ..write(obj.name) + ..writeByte(1) + ..write(obj.symbol) + ..writeByte(2) + ..write(obj.contractAddress) + ..writeByte(3) + ..write(obj.decimal) + ..writeByte(4) + ..write(obj._enabled) + ..writeByte(5) + ..write(obj.iconPath) + ..writeByte(6) + ..write(obj.tag) + ..writeByte(7) + ..write(obj.isPotentialScam); + } + + @override + int get hashCode => typeId.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is Erc20TokenAdapter && + runtimeType == other.runtimeType && + typeId == other.typeId; +} diff --git a/cw_core/lib/mweb_utxo.dart b/cw_core/lib/mweb_utxo.dart index 5eab11734..ec5679eb3 100644 --- a/cw_core/lib/mweb_utxo.dart +++ b/cw_core/lib/mweb_utxo.dart @@ -1,9 +1,9 @@ import 'package:cw_core/hive_type_ids.dart'; import 'package:hive/hive.dart'; -part 'mweb_utxo.g.dart'; +part 'mweb_utxo.part.dart'; -@HiveType(typeId: MWEB_UTXO_TYPE_ID) +// @HiveType(typeId: MWEB_UTXO_TYPE_ID) class MwebUtxo extends HiveObject { MwebUtxo({ required this.height, @@ -17,21 +17,21 @@ class MwebUtxo extends HiveObject { static const typeId = MWEB_UTXO_TYPE_ID; static const boxName = 'MwebUtxo'; - @HiveField(0) + // @HiveField(0) int height; - @HiveField(1) + // @HiveField(1) int value; - @HiveField(2) + // @HiveField(2) String address; - @HiveField(3) + // @HiveField(3) String outputId; - @HiveField(4) + // @HiveField(4) int blockTime; - @HiveField(5, defaultValue: false) + // @HiveField(5, defaultValue: false) bool spent; } diff --git a/cw_core/lib/mweb_utxo.part.dart b/cw_core/lib/mweb_utxo.part.dart new file mode 100644 index 000000000..fedc7196b --- /dev/null +++ b/cw_core/lib/mweb_utxo.part.dart @@ -0,0 +1,56 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'mweb_utxo.dart'; + +// ************************************************************************** +// TypeAdapterGenerator +// ************************************************************************** + +class MwebUtxoAdapter extends TypeAdapter { + @override + final int typeId = 20; + + @override + MwebUtxo read(BinaryReader reader) { + final numOfFields = reader.readByte(); + final fields = { + for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(), + }; + return MwebUtxo( + height: fields[0] as int, + value: fields[1] as int, + address: fields[2] as String, + outputId: fields[3] as String, + blockTime: fields[4] as int, + spent: fields[5] == null ? false : fields[5] as bool, + ); + } + + @override + void write(BinaryWriter writer, MwebUtxo obj) { + writer + ..writeByte(6) + ..writeByte(0) + ..write(obj.height) + ..writeByte(1) + ..write(obj.value) + ..writeByte(2) + ..write(obj.address) + ..writeByte(3) + ..write(obj.outputId) + ..writeByte(4) + ..write(obj.blockTime) + ..writeByte(5) + ..write(obj.spent); + } + + @override + int get hashCode => typeId.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is MwebUtxoAdapter && + runtimeType == other.runtimeType && + typeId == other.typeId; +} diff --git a/cw_core/lib/nano_account.dart b/cw_core/lib/nano_account.dart index 91df62e75..dcf2710da 100644 --- a/cw_core/lib/nano_account.dart +++ b/cw_core/lib/nano_account.dart @@ -1,23 +1,23 @@ import 'package:cw_core/hive_type_ids.dart'; import 'package:hive/hive.dart'; -part 'nano_account.g.dart'; +part 'nano_account.part.dart'; -@HiveType(typeId: NanoAccount.typeId) +// @HiveType(typeId: NanoAccount.typeId) class NanoAccount extends HiveObject { NanoAccount({required this.label, required this.id, this.balance, this.isSelected = false}); static const typeId = NANO_ACCOUNT_TYPE_ID; - @HiveField(0) + // @HiveField(0) String label; - @HiveField(1) + // @HiveField(1) final int id; - @HiveField(2) + // @HiveField(2) bool isSelected; - @HiveField(3) + // @HiveField(3) String? balance; } diff --git a/cw_core/lib/nano_account.part.dart b/cw_core/lib/nano_account.part.dart new file mode 100644 index 000000000..49b1e63a7 --- /dev/null +++ b/cw_core/lib/nano_account.part.dart @@ -0,0 +1,50 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'nano_account.dart'; + +// ************************************************************************** +// TypeAdapterGenerator +// ************************************************************************** + +class NanoAccountAdapter extends TypeAdapter { + @override + final int typeId = 13; + + @override + NanoAccount read(BinaryReader reader) { + final numOfFields = reader.readByte(); + final fields = { + for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(), + }; + return NanoAccount( + label: fields[0] as String, + id: fields[1] as int, + balance: fields[3] as String?, + isSelected: fields[2] as bool, + ); + } + + @override + void write(BinaryWriter writer, NanoAccount obj) { + writer + ..writeByte(4) + ..writeByte(0) + ..write(obj.label) + ..writeByte(1) + ..write(obj.id) + ..writeByte(2) + ..write(obj.isSelected) + ..writeByte(3) + ..write(obj.balance); + } + + @override + int get hashCode => typeId.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is NanoAccountAdapter && + runtimeType == other.runtimeType && + typeId == other.typeId; +} diff --git a/cw_core/lib/node_legacy.dart b/cw_core/lib/node_legacy.dart index 54d9340ac..7d36ddd2f 100644 --- a/cw_core/lib/node_legacy.dart +++ b/cw_core/lib/node_legacy.dart @@ -16,7 +16,7 @@ import 'package:crypto/crypto.dart'; import 'cake_hive.dart'; import 'node.dart' as node_new; -part "node_legacy.g.dart"; +part 'node_legacy.part.dart'; Future performNodeHiveMigration() async { if(!CakeHive.isAdapterRegistered(Node.typeId)) { diff --git a/cw_core/lib/node_legacy.part.dart b/cw_core/lib/node_legacy.part.dart new file mode 100644 index 000000000..9550c1d34 --- /dev/null +++ b/cw_core/lib/node_legacy.part.dart @@ -0,0 +1,78 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'node_legacy.dart'; + +// ************************************************************************** +// TypeAdapterGenerator +// ************************************************************************** + +class NodeAdapter extends TypeAdapter { + @override + final int typeId = 1; + + @override + Node read(BinaryReader reader) { + final numOfFields = reader.readByte(); + final fields = { + for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(), + }; + return Node( + label: fields[12] == null ? '' : fields[12] as String?, + login: fields[1] as String?, + password: fields[2] as String?, + useSSL: fields[4] as bool?, + trusted: fields[5] == null ? false : fields[5] as bool, + socksProxyAddress: fields[6] as String?, + path: fields[7] == null ? '' : fields[7] as String?, + isEnabledForAutoSwitching: + fields[11] == null ? false : fields[11] as bool, + ) + ..uriRaw = fields[0] == null ? '' : fields[0] as String + ..typeRaw = fields[3] == null ? 0 : fields[3] as int + ..isElectrs = fields[8] as bool? + ..supportsSilentPayments = fields[9] as bool? + ..supportsMweb = fields[10] as bool?; + } + + @override + void write(BinaryWriter writer, Node obj) { + writer + ..writeByte(13) + ..writeByte(0) + ..write(obj.uriRaw) + ..writeByte(1) + ..write(obj.login) + ..writeByte(2) + ..write(obj.password) + ..writeByte(3) + ..write(obj.typeRaw) + ..writeByte(4) + ..write(obj.useSSL) + ..writeByte(5) + ..write(obj.trusted) + ..writeByte(6) + ..write(obj.socksProxyAddress) + ..writeByte(7) + ..write(obj.path) + ..writeByte(8) + ..write(obj.isElectrs) + ..writeByte(9) + ..write(obj.supportsSilentPayments) + ..writeByte(10) + ..write(obj.supportsMweb) + ..writeByte(11) + ..write(obj.isEnabledForAutoSwitching) + ..writeByte(12) + ..write(obj.label); + } + + @override + int get hashCode => typeId.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is NodeAdapter && + runtimeType == other.runtimeType && + typeId == other.typeId; +} diff --git a/cw_core/lib/payjoin_session.dart b/cw_core/lib/payjoin_session.dart index 9133b15f0..6acb0cab9 100644 --- a/cw_core/lib/payjoin_session.dart +++ b/cw_core/lib/payjoin_session.dart @@ -1,9 +1,9 @@ import 'package:cw_core/hive_type_ids.dart'; import 'package:hive/hive.dart'; -part 'payjoin_session.g.dart'; +part 'payjoin_session.part.dart'; -@HiveType(typeId: PAYJOIN_SESSION_TYPE_ID) +// @HiveType(typeId: PAYJOIN_SESSION_TYPE_ID) class PayjoinSession extends HiveObject { PayjoinSession({ required this.walletId, @@ -25,31 +25,31 @@ class PayjoinSession extends HiveObject { static const typeId = PAYJOIN_SESSION_TYPE_ID; static const boxName = 'PayjoinSessions'; - @HiveField(0) + // @HiveField(0) final String walletId; - @HiveField(1) + // @HiveField(1) final String? sender; - @HiveField(2) + // @HiveField(2) final String? receiver; - @HiveField(3) + // @HiveField(3) final String? pjUri; - @HiveField(4) + // @HiveField(4) String status; - @HiveField(5) + // @HiveField(5) DateTime? inProgressSince; - @HiveField(6) + // @HiveField(6) String? txId; - @HiveField(7) + // @HiveField(7) String? rawAmount; - @HiveField(8) + // @HiveField(8) String? error; bool get isSenderSession => sender != null; diff --git a/cw_core/lib/payjoin_session.part.dart b/cw_core/lib/payjoin_session.part.dart new file mode 100644 index 000000000..09dc619e1 --- /dev/null +++ b/cw_core/lib/payjoin_session.part.dart @@ -0,0 +1,65 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'payjoin_session.dart'; + +// ************************************************************************** +// TypeAdapterGenerator +// ************************************************************************** + +class PayjoinSessionAdapter extends TypeAdapter { + @override + final int typeId = 23; + + @override + PayjoinSession read(BinaryReader reader) { + final numOfFields = reader.readByte(); + final fields = { + for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(), + }; + return PayjoinSession( + walletId: fields[0] as String, + receiver: fields[2] as String?, + sender: fields[1] as String?, + pjUri: fields[3] as String?, + status: fields[4] as String, + inProgressSince: fields[5] as DateTime?, + rawAmount: fields[7] as String?, + ) + ..txId = fields[6] as String? + ..error = fields[8] as String?; + } + + @override + void write(BinaryWriter writer, PayjoinSession obj) { + writer + ..writeByte(9) + ..writeByte(0) + ..write(obj.walletId) + ..writeByte(1) + ..write(obj.sender) + ..writeByte(2) + ..write(obj.receiver) + ..writeByte(3) + ..write(obj.pjUri) + ..writeByte(4) + ..write(obj.status) + ..writeByte(5) + ..write(obj.inProgressSince) + ..writeByte(6) + ..write(obj.txId) + ..writeByte(7) + ..write(obj.rawAmount) + ..writeByte(8) + ..write(obj.error); + } + + @override + int get hashCode => typeId.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is PayjoinSessionAdapter && + runtimeType == other.runtimeType && + typeId == other.typeId; +} diff --git a/cw_core/lib/spl_token.dart b/cw_core/lib/spl_token.dart index 7f6db08ce..500435319 100644 --- a/cw_core/lib/spl_token.dart +++ b/cw_core/lib/spl_token.dart @@ -2,39 +2,39 @@ import 'package:cw_core/crypto_currency.dart'; import 'package:cw_core/hive_type_ids.dart'; import 'package:hive/hive.dart'; -part 'spl_token.g.dart'; +part 'spl_token.part.dart'; -@HiveType(typeId: SPLToken.typeId) +// @HiveType(typeId: SPLToken.typeId) class SPLToken extends CryptoCurrency with HiveObjectMixin { @override - @HiveField(0) + // @HiveField(0) final String name; - @HiveField(1) + // @HiveField(1) final String symbol; - @HiveField(2) + // @HiveField(2) final String mintAddress; - @HiveField(3) + // @HiveField(3) final int decimal; - @HiveField(4, defaultValue: true) + // @HiveField(4, defaultValue: true) bool _enabled; - @HiveField(5) + // @HiveField(5) final String mint; @override - @HiveField(6) + // @HiveField(6) final String? iconPath; @override - @HiveField(7) + // @HiveField(7) final String? tag; @override - @HiveField(8, defaultValue: false) + // @HiveField(8, defaultValue: false) bool isPotentialScam; SPLToken({ diff --git a/cw_core/lib/spl_token.part.dart b/cw_core/lib/spl_token.part.dart new file mode 100644 index 000000000..d3da96cfd --- /dev/null +++ b/cw_core/lib/spl_token.part.dart @@ -0,0 +1,64 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'spl_token.dart'; + +// ************************************************************************** +// TypeAdapterGenerator +// ************************************************************************** + +class SPLTokenAdapter extends TypeAdapter { + @override + final int typeId = 16; + + @override + SPLToken read(BinaryReader reader) { + final numOfFields = reader.readByte(); + final fields = { + for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(), + }; + return SPLToken( + name: fields[0] as String, + symbol: fields[1] as String, + mintAddress: fields[2] as String, + decimal: fields[3] as int, + mint: fields[5] as String, + iconPath: fields[6] as String?, + tag: fields[7] as String?, + isPotentialScam: fields[8] == null ? false : fields[8] as bool, + ).._enabled = fields[4] == null ? true : fields[4] as bool; + } + + @override + void write(BinaryWriter writer, SPLToken obj) { + writer + ..writeByte(9) + ..writeByte(0) + ..write(obj.name) + ..writeByte(1) + ..write(obj.symbol) + ..writeByte(2) + ..write(obj.mintAddress) + ..writeByte(3) + ..write(obj.decimal) + ..writeByte(4) + ..write(obj._enabled) + ..writeByte(5) + ..write(obj.mint) + ..writeByte(6) + ..write(obj.iconPath) + ..writeByte(7) + ..write(obj.tag) + ..writeByte(8) + ..write(obj.isPotentialScam); + } + + @override + int get hashCode => typeId.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is SPLTokenAdapter && + runtimeType == other.runtimeType && + typeId == other.typeId; +} diff --git a/cw_core/lib/tron_token.dart b/cw_core/lib/tron_token.dart index 3d891bea7..c4b27ed21 100644 --- a/cw_core/lib/tron_token.dart +++ b/cw_core/lib/tron_token.dart @@ -4,32 +4,32 @@ import 'package:cw_core/crypto_currency.dart'; import 'package:cw_core/hive_type_ids.dart'; import 'package:hive/hive.dart'; -part 'tron_token.g.dart'; +part 'tron_token.part.dart'; -@HiveType(typeId: TronToken.typeId) +// @HiveType(typeId: TronToken.typeId) class TronToken extends CryptoCurrency with HiveObjectMixin { - @HiveField(0) + // @HiveField(0) final String name; - @HiveField(1) + // @HiveField(1) final String symbol; - @HiveField(2) + // @HiveField(2) final String contractAddress; - @HiveField(3) + // @HiveField(3) final int decimal; - @HiveField(4, defaultValue: true) + // @HiveField(4, defaultValue: true) bool _enabled; - @HiveField(5) + // @HiveField(5) final String? iconPath; - @HiveField(6) + // @HiveField(6) final String? tag; - @HiveField(7, defaultValue: false) + // @HiveField(7, defaultValue: false) final bool isPotentialScam; bool get enabled => _enabled; diff --git a/cw_core/lib/tron_token.part.dart b/cw_core/lib/tron_token.part.dart new file mode 100644 index 000000000..e719c18c4 --- /dev/null +++ b/cw_core/lib/tron_token.part.dart @@ -0,0 +1,61 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'tron_token.dart'; + +// ************************************************************************** +// TypeAdapterGenerator +// ************************************************************************** + +class TronTokenAdapter extends TypeAdapter { + @override + final int typeId = 18; + + @override + TronToken read(BinaryReader reader) { + final numOfFields = reader.readByte(); + final fields = { + for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(), + }; + return TronToken( + name: fields[0] as String, + symbol: fields[1] as String, + contractAddress: fields[2] as String, + decimal: fields[3] as int, + iconPath: fields[5] as String?, + tag: fields[6] as String?, + isPotentialScam: fields[7] == null ? false : fields[7] as bool, + ).._enabled = fields[4] == null ? true : fields[4] as bool; + } + + @override + void write(BinaryWriter writer, TronToken obj) { + writer + ..writeByte(8) + ..writeByte(0) + ..write(obj.name) + ..writeByte(1) + ..write(obj.symbol) + ..writeByte(2) + ..write(obj.contractAddress) + ..writeByte(3) + ..write(obj.decimal) + ..writeByte(4) + ..write(obj._enabled) + ..writeByte(5) + ..write(obj.iconPath) + ..writeByte(6) + ..write(obj.tag) + ..writeByte(7) + ..write(obj.isPotentialScam); + } + + @override + int get hashCode => typeId.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is TronTokenAdapter && + runtimeType == other.runtimeType && + typeId == other.typeId; +} diff --git a/cw_core/lib/unspent_coins_info.dart b/cw_core/lib/unspent_coins_info.dart index a60feb634..8e0ec7883 100644 --- a/cw_core/lib/unspent_coins_info.dart +++ b/cw_core/lib/unspent_coins_info.dart @@ -2,9 +2,9 @@ import 'package:cw_core/hive_type_ids.dart'; import 'package:cw_core/unspent_comparable_mixin.dart'; import 'package:hive/hive.dart'; -part 'unspent_coins_info.g.dart'; +part 'unspent_coins_info.part.dart'; -@HiveType(typeId: UnspentCoinsInfo.typeId) +// @HiveType(typeId: UnspentCoinsInfo.typeId) class UnspentCoinsInfo extends HiveObject with UnspentComparable { UnspentCoinsInfo({ required this.walletId, @@ -25,40 +25,40 @@ class UnspentCoinsInfo extends HiveObject with UnspentComparable { static const boxName = 'Unspent'; static const boxKey = 'unspentBoxKey'; - @HiveField(0, defaultValue: '') + // @HiveField(0, defaultValue: '') String walletId; - @HiveField(1, defaultValue: '') + // @HiveField(1, defaultValue: '') String hash; - @HiveField(2, defaultValue: false) + // @HiveField(2, defaultValue: false) bool isFrozen; - @HiveField(3, defaultValue: false) + // @HiveField(3, defaultValue: false) bool isSending; - @HiveField(4) + // @HiveField(4) String? noteRaw; - @HiveField(5, defaultValue: '') + // @HiveField(5, defaultValue: '') String address; - @HiveField(6, defaultValue: 0) + // @HiveField(6, defaultValue: 0) int value; - @HiveField(7, defaultValue: 0) + // @HiveField(7, defaultValue: 0) int vout; - @HiveField(8, defaultValue: null) + // @HiveField(8, defaultValue: null) String? keyImage; - @HiveField(9, defaultValue: false) + // @HiveField(9, defaultValue: false) bool isChange; - @HiveField(10, defaultValue: 0) + // @HiveField(10, defaultValue: 0) int accountIndex; - @HiveField(11, defaultValue: false) + // @HiveField(11, defaultValue: false) bool? isSilentPayment; String get note => noteRaw ?? ''; diff --git a/cw_core/lib/unspent_coins_info.part.dart b/cw_core/lib/unspent_coins_info.part.dart new file mode 100644 index 000000000..658bb1e6f --- /dev/null +++ b/cw_core/lib/unspent_coins_info.part.dart @@ -0,0 +1,74 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'unspent_coins_info.dart'; + +// ************************************************************************** +// TypeAdapterGenerator +// ************************************************************************** + +class UnspentCoinsInfoAdapter extends TypeAdapter { + @override + final int typeId = 9; + + @override + UnspentCoinsInfo read(BinaryReader reader) { + final numOfFields = reader.readByte(); + final fields = { + for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(), + }; + return UnspentCoinsInfo( + walletId: fields[0] == null ? '' : fields[0] as String, + hash: fields[1] == null ? '' : fields[1] as String, + isFrozen: fields[2] == null ? false : fields[2] as bool, + isSending: fields[3] == null ? false : fields[3] as bool, + noteRaw: fields[4] as String?, + address: fields[5] == null ? '' : fields[5] as String, + vout: fields[7] == null ? 0 : fields[7] as int, + value: fields[6] == null ? 0 : fields[6] as int, + keyImage: fields[8] as String?, + isChange: fields[9] == null ? false : fields[9] as bool, + accountIndex: fields[10] == null ? 0 : fields[10] as int, + isSilentPayment: fields[11] == null ? false : fields[11] as bool?, + ); + } + + @override + void write(BinaryWriter writer, UnspentCoinsInfo obj) { + writer + ..writeByte(12) + ..writeByte(0) + ..write(obj.walletId) + ..writeByte(1) + ..write(obj.hash) + ..writeByte(2) + ..write(obj.isFrozen) + ..writeByte(3) + ..write(obj.isSending) + ..writeByte(4) + ..write(obj.noteRaw) + ..writeByte(5) + ..write(obj.address) + ..writeByte(6) + ..write(obj.value) + ..writeByte(7) + ..write(obj.vout) + ..writeByte(8) + ..write(obj.keyImage) + ..writeByte(9) + ..write(obj.isChange) + ..writeByte(10) + ..write(obj.accountIndex) + ..writeByte(11) + ..write(obj.isSilentPayment); + } + + @override + int get hashCode => typeId.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is UnspentCoinsInfoAdapter && + runtimeType == other.runtimeType && + typeId == other.typeId; +} diff --git a/cw_core/lib/wallet_type.dart b/cw_core/lib/wallet_type.dart index 893891618..3f7de05bf 100644 --- a/cw_core/lib/wallet_type.dart +++ b/cw_core/lib/wallet_type.dart @@ -3,7 +3,7 @@ import 'package:cw_core/hive_type_ids.dart'; import 'package:cw_core/utils/print_verbose.dart'; import 'package:hive/hive.dart'; -part 'wallet_type.g.dart'; +part 'wallet_type.part.dart'; const walletTypes = [ WalletType.monero, @@ -41,66 +41,66 @@ const evmWalletTypes = [ WalletType.bsc ]; -@HiveType(typeId: WALLET_TYPE_TYPE_ID) +// @HiveType(typeId: WALLET_TYPE_TYPE_ID) enum WalletType { - @HiveField(0) + // @HiveField(0) monero, - @HiveField(1) + // @HiveField(1) none, - @HiveField(2) + // @HiveField(2) bitcoin, - @HiveField(3) + // @HiveField(3) litecoin, - @HiveField(4) + // @HiveField(4) haven, - @HiveField(5) + // @HiveField(5) ethereum, - @HiveField(6) + // @HiveField(6) nano, - @HiveField(7) + // @HiveField(7) banano, - @HiveField(8) + // @HiveField(8) bitcoinCash, - @HiveField(9) + // @HiveField(9) polygon, - @HiveField(10) + // @HiveField(10) solana, - @HiveField(11) + // @HiveField(11) tron, - @HiveField(12) + // @HiveField(12) wownero, - @HiveField(13) + // @HiveField(13) zano, - @HiveField(14) + // @HiveField(14) decred, - @HiveField(15) + // @HiveField(15) dogecoin, - @HiveField(16) + // @HiveField(16) base, - @HiveField(17) + // @HiveField(17) arbitrum, - @HiveField(18) + // @HiveField(18) zcash, - @HiveField(19) + // @HiveField(19) bsc, } diff --git a/cw_core/lib/wallet_type.part.dart b/cw_core/lib/wallet_type.part.dart new file mode 100644 index 000000000..60867341c --- /dev/null +++ b/cw_core/lib/wallet_type.part.dart @@ -0,0 +1,136 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'wallet_type.dart'; + +// ************************************************************************** +// TypeAdapterGenerator +// ************************************************************************** + +class WalletTypeAdapter extends TypeAdapter { + @override + final int typeId = 5; + + @override + WalletType read(BinaryReader reader) { + switch (reader.readByte()) { + case 0: + return WalletType.monero; + case 1: + return WalletType.none; + case 2: + return WalletType.bitcoin; + case 3: + return WalletType.litecoin; + case 4: + return WalletType.haven; + case 5: + return WalletType.ethereum; + case 6: + return WalletType.nano; + case 7: + return WalletType.banano; + case 8: + return WalletType.bitcoinCash; + case 9: + return WalletType.polygon; + case 10: + return WalletType.solana; + case 11: + return WalletType.tron; + case 12: + return WalletType.wownero; + case 13: + return WalletType.zano; + case 14: + return WalletType.decred; + case 15: + return WalletType.dogecoin; + case 16: + return WalletType.base; + case 17: + return WalletType.arbitrum; + case 18: + return WalletType.zcash; + case 19: + return WalletType.bsc; + default: + return WalletType.monero; + } + } + + @override + void write(BinaryWriter writer, WalletType obj) { + switch (obj) { + case WalletType.monero: + writer.writeByte(0); + break; + case WalletType.none: + writer.writeByte(1); + break; + case WalletType.bitcoin: + writer.writeByte(2); + break; + case WalletType.litecoin: + writer.writeByte(3); + break; + case WalletType.haven: + writer.writeByte(4); + break; + case WalletType.ethereum: + writer.writeByte(5); + break; + case WalletType.nano: + writer.writeByte(6); + break; + case WalletType.banano: + writer.writeByte(7); + break; + case WalletType.bitcoinCash: + writer.writeByte(8); + break; + case WalletType.polygon: + writer.writeByte(9); + break; + case WalletType.solana: + writer.writeByte(10); + break; + case WalletType.tron: + writer.writeByte(11); + break; + case WalletType.wownero: + writer.writeByte(12); + break; + case WalletType.zano: + writer.writeByte(13); + break; + case WalletType.decred: + writer.writeByte(14); + break; + case WalletType.dogecoin: + writer.writeByte(15); + break; + case WalletType.base: + writer.writeByte(16); + break; + case WalletType.arbitrum: + writer.writeByte(17); + break; + case WalletType.zcash: + writer.writeByte(18); + break; + case WalletType.bsc: + writer.writeByte(19); + break; + } + } + + @override + int get hashCode => typeId.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is WalletTypeAdapter && + runtimeType == other.runtimeType && + typeId == other.typeId; +} diff --git a/cw_core/lib/zano_asset.dart b/cw_core/lib/zano_asset.dart index 0332f5972..d619e7ae5 100644 --- a/cw_core/lib/zano_asset.dart +++ b/cw_core/lib/zano_asset.dart @@ -4,38 +4,38 @@ import 'package:cw_core/crypto_currency.dart'; import 'package:cw_core/hive_type_ids.dart'; import 'package:hive/hive.dart'; -part 'zano_asset.g.dart'; +part 'zano_asset.part.dart'; -@HiveType(typeId: ZanoAsset.typeId) +// @HiveType(typeId: ZanoAsset.typeId) class ZanoAsset extends CryptoCurrency with HiveObjectMixin { - @HiveField(0) + // @HiveField(0) final String fullName; - @HiveField(1) + // @HiveField(1) final String ticker; - @HiveField(2) + // @HiveField(2) final String assetId; - @HiveField(3) + // @HiveField(3) final int decimalPoint; - @HiveField(4, defaultValue: true) + // @HiveField(4, defaultValue: true) bool _enabled; - @HiveField(5) + // @HiveField(5) final String? iconPath; // @HiveField(6) // final String? tag; - @HiveField(6) + // @HiveField(6) final String owner; - @HiveField(7) + // @HiveField(7) final String metaInfo; - @HiveField(8) + // @HiveField(8) final BigInt currentSupply; - @HiveField(9) + // @HiveField(9) final bool hiddenSupply; - @HiveField(10) + // @HiveField(10) final BigInt totalMaxSupply; - @HiveField(11) + // @HiveField(11) final bool isInGlobalWhitelist; - @HiveField(12, defaultValue: null) + // @HiveField(12, defaultValue: null) final Map? info; bool get enabled => _enabled; diff --git a/cw_core/lib/zano_asset.part.dart b/cw_core/lib/zano_asset.part.dart new file mode 100644 index 000000000..d23d4b853 --- /dev/null +++ b/cw_core/lib/zano_asset.part.dart @@ -0,0 +1,76 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'zano_asset.dart'; + +// ************************************************************************** +// TypeAdapterGenerator +// ************************************************************************** + +class ZanoAssetAdapter extends TypeAdapter { + @override + final int typeId = 22; + + @override + ZanoAsset read(BinaryReader reader) { + final numOfFields = reader.readByte(); + final fields = { + for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(), + }; + return ZanoAsset( + fullName: fields[0] as String, + ticker: fields[1] as String, + assetId: fields[2] as String, + decimalPoint: fields[3] as int, + iconPath: fields[5] as String?, + owner: fields[6] as String, + metaInfo: fields[7] as String, + currentSupply: fields[8] as BigInt, + hiddenSupply: fields[9] as bool, + totalMaxSupply: fields[10] as BigInt, + isInGlobalWhitelist: fields[11] as bool, + info: (fields[12] as Map?)?.cast(), + ).._enabled = fields[4] == null ? true : fields[4] as bool; + } + + @override + void write(BinaryWriter writer, ZanoAsset obj) { + writer + ..writeByte(13) + ..writeByte(0) + ..write(obj.fullName) + ..writeByte(1) + ..write(obj.ticker) + ..writeByte(2) + ..write(obj.assetId) + ..writeByte(3) + ..write(obj.decimalPoint) + ..writeByte(4) + ..write(obj._enabled) + ..writeByte(5) + ..write(obj.iconPath) + ..writeByte(6) + ..write(obj.owner) + ..writeByte(7) + ..write(obj.metaInfo) + ..writeByte(8) + ..write(obj.currentSupply) + ..writeByte(9) + ..write(obj.hiddenSupply) + ..writeByte(10) + ..write(obj.totalMaxSupply) + ..writeByte(11) + ..write(obj.isInGlobalWhitelist) + ..writeByte(12) + ..write(obj.info); + } + + @override + int get hashCode => typeId.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is ZanoAssetAdapter && + runtimeType == other.runtimeType && + typeId == other.typeId; +} diff --git a/cw_core/pubspec.lock b/cw_core/pubspec.lock index 2d0919c33..8eff1d338 100644 --- a/cw_core/pubspec.lock +++ b/cw_core/pubspec.lock @@ -5,23 +5,18 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab" + sha256: "5b7468c326d2f8a4f630056404ca0d291ade42918f4a3c6233618e724f39da8e" url: "https://pub.dev" source: hosted - version: "76.0.0" - _macros: - dependency: transitive - description: dart - source: sdk - version: "0.3.3" + version: "92.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e" + sha256: "70e4b1ef8003c64793a9e268a551a82869a8a96f39deb73dea28084b0e8bf75e" url: "https://pub.dev" source: hosted - version: "6.11.0" + version: "9.0.0" args: dependency: transitive description: @@ -76,18 +71,18 @@ packages: dependency: transitive description: name: build - sha256: cef23f1eda9b57566c81e2133d196f8e3df48f244b317368d65c5943d91148f0 + sha256: a156715e7cd728130c592f30552575908aae5b100005fbc1f0fb16b3c03a3d10 url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "4.0.6" build_config: dependency: transitive description: name: build_config - sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33" + sha256: "4070d2a59f8eec34c97c86ceb44403834899075f66e8a9d59706f8e7834f6f71" url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.3.0" build_daemon: dependency: transitive description: @@ -96,30 +91,14 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.4" - build_resolvers: - dependency: "direct dev" - description: - name: build_resolvers - sha256: b9e4fda21d846e192628e7a4f6deda6888c36b5b69ba02ff291a01fd529140f0 - url: "https://pub.dev" - source: hosted - version: "2.4.4" build_runner: dependency: "direct dev" description: name: build_runner - sha256: "058fe9dce1de7d69c4b84fada934df3e0153dd000758c4d65964d0166779aa99" + sha256: "1523ce62448ebac2c15a8ba5fbad8acac169788658a7dd2a1c2d9c2a9318b9a6" url: "https://pub.dev" source: hosted - version: "2.4.15" - build_runner_core: - dependency: transitive - description: - name: build_runner_core - sha256: "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021" - url: "https://pub.dev" - source: hosted - version: "8.0.0" + version: "2.15.0" built_collection: dependency: transitive description: @@ -149,10 +128,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" checked_yaml: dependency: transitive description: @@ -169,14 +148,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.2" - code_builder: - dependency: transitive - description: - name: code_builder - sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e" - url: "https://pub.dev" - source: hosted - version: "4.10.1" collection: dependency: transitive description: @@ -221,10 +192,10 @@ packages: dependency: transitive description: name: dart_style - sha256: "7306ab8a2359a48d22310ad823521d723acfed60ee1f7e37388e8986853b6820" + sha256: a9c30492da18ff84efe2422ba2d319a89942d93e58eb0b73d32abe822ef54b7b url: "https://pub.dev" source: hosted - version: "2.3.8" + version: "3.1.3" decimal: dependency: "direct main" description: @@ -291,14 +262,6 @@ packages: description: flutter source: sdk version: "0.0.0" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 - url: "https://pub.dev" - source: hosted - version: "4.0.0" glob: dependency: transitive description: @@ -316,21 +279,13 @@ packages: source: hosted version: "2.3.2" hive: - dependency: transitive + dependency: "direct dev" description: name: hive sha256: "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941" url: "https://pub.dev" source: hosted version: "2.2.3" - hive_generator: - dependency: "direct dev" - description: - name: hive_generator - sha256: "06cb8f58ace74de61f63500564931f9505368f45f98958bd7a6c35ba24159db4" - url: "https://pub.dev" - source: hosted - version: "2.0.1" http: dependency: "direct main" description: @@ -391,26 +346,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" url: "https://pub.dev" source: hosted - version: "10.0.9" + version: "11.0.2" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" url: "https://pub.dev" source: hosted - version: "3.0.9" + version: "3.0.10" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" logging: dependency: transitive description: @@ -419,38 +374,30 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.0" - macros: - dependency: transitive - description: - name: macros - sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656" - url: "https://pub.dev" - source: hosted - version: "0.1.3-main.0" matcher: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.19" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" meta: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" mime: dependency: transitive description: @@ -463,18 +410,18 @@ packages: dependency: "direct main" description: name: mobx - sha256: bf1a90e5bcfd2851fc6984e20eef69557c65d9e4d0a88f5be4cf72c9819ce6b0 + sha256: "25ea9a3ee69243d578fb6288721d8eeb18550d0391c32f896d377d994154bff2" url: "https://pub.dev" source: hosted - version: "2.5.0" + version: "2.6.0" mobx_codegen: dependency: "direct dev" description: name: mobx_codegen - sha256: e0abbbc651a69550440f6b65c99ec222a1e2a4afd7baec8ba0f3088c7ca582a8 + sha256: "6529bcae074838004b58ad01fbe4966be182a176aacfb723686985986ebac19f" url: "https://pub.dev" source: hosted - version: "2.7.1" + version: "2.7.7" nested: dependency: transitive description: @@ -663,18 +610,10 @@ packages: dependency: transitive description: name: source_gen - sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" + sha256: ec37cc0e6694374cbef59ed79685572c870a54ede6fa30a3e420feb3adffea02 url: "https://pub.dev" source: hosted - version: "1.5.0" - source_helper: - dependency: transitive - description: - name: source_helper - sha256: "86d247119aedce8e63f4751bd9626fc9613255935558447569ad42f9f5b48b3c" - url: "https://pub.dev" - source: hosted - version: "1.3.5" + version: "4.2.3" source_span: dependency: transitive description: @@ -799,18 +738,10 @@ packages: dependency: transitive description: name: test_api - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a" url: "https://pub.dev" source: hosted - version: "0.7.4" - timing: - dependency: transitive - description: - name: timing - sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" - url: "https://pub.dev" - source: hosted - version: "1.0.1" + version: "0.7.10" torch_dart: dependency: "direct main" description: @@ -846,10 +777,10 @@ packages: dependency: transitive description: name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.2.0" vm_service: dependency: transitive description: @@ -907,5 +838,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.7.0-0 <4.0.0" + dart: ">=3.9.0 <4.0.0" flutter: ">=3.27.0" diff --git a/cw_core/pubspec.yaml b/cw_core/pubspec.yaml index 3f9a6e521..ea642d82e 100644 --- a/cw_core/pubspec.yaml +++ b/cw_core/pubspec.yaml @@ -14,8 +14,8 @@ dependencies: http: ^1.1.0 file: ^7.0.0 path_provider: ^2.1.5 - mobx: ^2.0.7+4 - flutter_mobx: ^2.0.6+1 + mobx: ^2.6.0 + flutter_mobx: ^2.3.0 intl: any encrypt: ^5.0.1 decimal: ^2.3.3 @@ -53,10 +53,10 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - build_runner: ^2.4.15 - build_resolvers: ^2.4.4 - mobx_codegen: ^2.0.7 - hive_generator: ^2.0.1 + build_runner: ^2.15.0 + mobx_codegen: ^2.7.7 + hive: ^2.2.3 +# hive_generator: ^2.0.1 dependency_overrides: watcher: ^1.1.0 diff --git a/cw_decred/pubspec.lock b/cw_decred/pubspec.lock index 6600652b8..9a568daa7 100644 --- a/cw_decred/pubspec.lock +++ b/cw_decred/pubspec.lock @@ -5,23 +5,18 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab" + sha256: "8d7ff3948166b8ec5da0fbb5962000926b8e02f2ed9b3e51d1738905fbd4c98d" url: "https://pub.dev" source: hosted - version: "76.0.0" - _macros: - dependency: transitive - description: dart - source: sdk - version: "0.3.3" + version: "93.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e" + sha256: de7148ed2fcec579b19f122c1800933dfa028f6d9fd38a152b04b1516cec120b url: "https://pub.dev" source: hosted - version: "6.11.0" + version: "10.0.1" args: dependency: transitive description: @@ -76,18 +71,18 @@ packages: dependency: transitive description: name: build - sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" + sha256: a156715e7cd728130c592f30552575908aae5b100005fbc1f0fb16b3c03a3d10 url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "4.0.6" build_config: dependency: transitive description: name: build_config - sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 + sha256: "4070d2a59f8eec34c97c86ceb44403834899075f66e8a9d59706f8e7834f6f71" url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.3.0" build_daemon: dependency: transitive description: @@ -96,30 +91,14 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.2" - build_resolvers: - dependency: "direct dev" - description: - name: build_resolvers - sha256: b9e4fda21d846e192628e7a4f6deda6888c36b5b69ba02ff291a01fd529140f0 - url: "https://pub.dev" - source: hosted - version: "2.4.4" build_runner: dependency: "direct dev" description: name: build_runner - sha256: "058fe9dce1de7d69c4b84fada934df3e0153dd000758c4d65964d0166779aa99" + sha256: "1523ce62448ebac2c15a8ba5fbad8acac169788658a7dd2a1c2d9c2a9318b9a6" url: "https://pub.dev" source: hosted - version: "2.4.15" - build_runner_core: - dependency: transitive - description: - name: build_runner_core - sha256: "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021" - url: "https://pub.dev" - source: hosted - version: "8.0.0" + version: "2.15.0" built_collection: dependency: transitive description: @@ -132,10 +111,10 @@ packages: dependency: transitive description: name: built_value - sha256: ea90e81dc4a25a043d9bee692d20ed6d1c4a1662a28c03a96417446c093ed6b4 + sha256: "34e4067d30ce212937df995f03b69992eea683539ceeac7f679a1f1eba055b56" url: "https://pub.dev" source: hosted - version: "8.9.5" + version: "8.12.6" cake_backup: dependency: transitive description: @@ -149,10 +128,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" checked_yaml: dependency: transitive description: @@ -177,14 +156,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.2" - code_builder: - dependency: transitive - description: - name: code_builder - sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e" - url: "https://pub.dev" - source: hosted - version: "4.10.1" collection: dependency: transitive description: @@ -236,10 +207,10 @@ packages: dependency: transitive description: name: dart_style - sha256: "7856d364b589d1f08986e140938578ed36ed948581fbc3bc9aef1805039ac5ab" + sha256: "29f7ecc274a86d32920b1d9cfc7502fa87220da41ec60b55f329559d5732e2b2" url: "https://pub.dev" source: hosted - version: "2.3.7" + version: "3.1.7" decimal: dependency: transitive description: @@ -276,10 +247,10 @@ packages: dependency: "direct dev" description: name: ffigen - sha256: "2119b4fe3aad0db94dc9531b90283c4640a6231070e613c400b426a4da08c704" + sha256: b7803707faeec4ce3c1b0c2274906504b796e3b70ad573577e72333bd1c9b3ba url: "https://pub.dev" source: hosted - version: "16.1.0" + version: "20.1.1" file: dependency: transitive description: @@ -314,14 +285,6 @@ packages: description: flutter source: sdk version: "0.0.0" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 - url: "https://pub.dev" - source: hosted - version: "4.0.0" glob: dependency: transitive description: @@ -339,21 +302,13 @@ packages: source: hosted version: "2.3.2" hive: - dependency: transitive + dependency: "direct dev" description: name: hive sha256: "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941" url: "https://pub.dev" source: hosted version: "2.2.3" - hive_generator: - dependency: "direct dev" - description: - name: hive_generator - sha256: "06cb8f58ace74de61f63500564931f9505368f45f98958bd7a6c35ba24159db4" - url: "https://pub.dev" - source: hosted - version: "2.0.1" http: dependency: transitive description: @@ -414,26 +369,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" url: "https://pub.dev" source: hosted - version: "10.0.9" + version: "11.0.2" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" url: "https://pub.dev" source: hosted - version: "3.0.9" + version: "3.0.10" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" logging: dependency: transitive description: @@ -442,38 +397,30 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.0" - macros: - dependency: transitive - description: - name: macros - sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656" - url: "https://pub.dev" - source: hosted - version: "0.1.3-main.0" matcher: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.19" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" meta: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" mime: dependency: transitive description: @@ -486,18 +433,18 @@ packages: dependency: transitive description: name: mobx - sha256: bf1a90e5bcfd2851fc6984e20eef69557c65d9e4d0a88f5be4cf72c9819ce6b0 + sha256: "25ea9a3ee69243d578fb6288721d8eeb18550d0391c32f896d377d994154bff2" url: "https://pub.dev" source: hosted - version: "2.5.0" + version: "2.6.0" mobx_codegen: dependency: "direct dev" description: name: mobx_codegen - sha256: "990da80722f7d7c0017dec92040b31545d625b15d40204c36a1e63d167c73cdc" + sha256: "6529bcae074838004b58ad01fbe4966be182a176aacfb723686985986ebac19f" url: "https://pub.dev" source: hosted - version: "2.7.0" + version: "2.7.7" nested: dependency: transitive description: @@ -694,18 +641,10 @@ packages: dependency: transitive description: name: source_gen - sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" + sha256: ec37cc0e6694374cbef59ed79685572c870a54ede6fa30a3e420feb3adffea02 url: "https://pub.dev" source: hosted - version: "1.5.0" - source_helper: - dependency: transitive - description: - name: source_helper - sha256: "86d247119aedce8e63f4751bd9626fc9613255935558447569ad42f9f5b48b3c" - url: "https://pub.dev" - source: hosted - version: "1.3.5" + version: "4.2.3" source_span: dependency: transitive description: @@ -830,18 +769,10 @@ packages: dependency: transitive description: name: test_api - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a" url: "https://pub.dev" source: hosted - version: "0.7.4" - timing: - dependency: transitive - description: - name: timing - sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe" - url: "https://pub.dev" - source: hosted - version: "1.0.2" + version: "0.7.10" torch_dart: dependency: transitive description: @@ -877,10 +808,10 @@ packages: dependency: transitive description: name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.2.0" vm_service: dependency: transitive description: @@ -946,5 +877,5 @@ packages: source: hosted version: "2.2.2" sdks: - dart: ">=3.7.0-0 <4.0.0" + dart: ">=3.10.0 <4.0.0" flutter: ">=3.24.0" diff --git a/cw_decred/pubspec.yaml b/cw_decred/pubspec.yaml index 781b38cc9..1b808e293 100644 --- a/cw_decred/pubspec.yaml +++ b/cw_decred/pubspec.yaml @@ -18,11 +18,10 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - build_runner: ^2.4.15 - build_resolvers: ^2.4.4 - mobx_codegen: ^2.0.7 - hive_generator: ^2.0.1 - ffigen: ^16.1.0 + build_runner: ^2.15.0 + mobx_codegen: ^2.7.7 + ffigen: ^20.1.1 + hive: ^2.2.3 ffigen: name: libdcrwallet diff --git a/cw_dogecoin/pubspec.yaml b/cw_dogecoin/pubspec.yaml index 97b58a285..910d2b63e 100644 --- a/cw_dogecoin/pubspec.yaml +++ b/cw_dogecoin/pubspec.yaml @@ -15,8 +15,8 @@ dependencies: bip39: ^1.0.6 bip32: ^2.0.0 path_provider: ^2.0.11 - mobx: ^2.0.7+4 - flutter_mobx: ^2.0.6+1 + mobx: ^2.6.0 + flutter_mobx: ^2.3.0 cw_core: path: ../cw_core cw_bitcoin: @@ -30,9 +30,10 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - build_runner: ^2.4.15 - mobx_codegen: ^2.0.7 - hive_generator: ^2.0.1 + build_runner: ^2.15.0 + mobx_codegen: ^2.7.7 +# hive_generator: ^2.0.1 + hive: 2.0.1 dependency_overrides: watcher: ^1.1.0 diff --git a/cw_evm/pubspec.yaml b/cw_evm/pubspec.yaml index 4ba23a5ef..0186841c5 100644 --- a/cw_evm/pubspec.yaml +++ b/cw_evm/pubspec.yaml @@ -50,7 +50,7 @@ dev_dependencies: sdk: flutter build_runner: ^2.4.15 mobx_codegen: ^2.0.7 - hive_generator: ^2.0.1 +# hive_generator: ^2.0.1 flutter_lints: ^2.0.0 flutter: diff --git a/cw_monero/pubspec.lock b/cw_monero/pubspec.lock index 2fbb5d4e5..58652bc8c 100644 --- a/cw_monero/pubspec.lock +++ b/cw_monero/pubspec.lock @@ -5,23 +5,18 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab" + sha256: "5b7468c326d2f8a4f630056404ca0d291ade42918f4a3c6233618e724f39da8e" url: "https://pub.dev" source: hosted - version: "76.0.0" - _macros: - dependency: transitive - description: dart - source: sdk - version: "0.3.3" + version: "92.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e" + sha256: "70e4b1ef8003c64793a9e268a551a82869a8a96f39deb73dea28084b0e8bf75e" url: "https://pub.dev" source: hosted - version: "6.11.0" + version: "9.0.0" args: dependency: transitive description: @@ -108,18 +103,18 @@ packages: dependency: transitive description: name: build - sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" + sha256: a156715e7cd728130c592f30552575908aae5b100005fbc1f0fb16b3c03a3d10 url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "4.0.6" build_config: dependency: transitive description: name: build_config - sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 + sha256: "4070d2a59f8eec34c97c86ceb44403834899075f66e8a9d59706f8e7834f6f71" url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.3.0" build_daemon: dependency: transitive description: @@ -128,30 +123,14 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.2" - build_resolvers: - dependency: "direct dev" - description: - name: build_resolvers - sha256: b9e4fda21d846e192628e7a4f6deda6888c36b5b69ba02ff291a01fd529140f0 - url: "https://pub.dev" - source: hosted - version: "2.4.4" build_runner: dependency: "direct dev" description: name: build_runner - sha256: "058fe9dce1de7d69c4b84fada934df3e0153dd000758c4d65964d0166779aa99" + sha256: "1523ce62448ebac2c15a8ba5fbad8acac169788658a7dd2a1c2d9c2a9318b9a6" url: "https://pub.dev" source: hosted - version: "2.4.15" - build_runner_core: - dependency: transitive - description: - name: build_runner_core - sha256: "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021" - url: "https://pub.dev" - source: hosted - version: "8.0.0" + version: "2.15.0" built_collection: dependency: transitive description: @@ -164,10 +143,10 @@ packages: dependency: transitive description: name: built_value - sha256: "8b158ab94ec6913e480dc3f752418348b5ae099eb75868b5f4775f0572999c61" + sha256: "34e4067d30ce212937df995f03b69992eea683539ceeac7f679a1f1eba055b56" url: "https://pub.dev" source: hosted - version: "8.9.4" + version: "8.12.6" cake_backup: dependency: transitive description: @@ -181,10 +160,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" checked_yaml: dependency: transitive description: @@ -260,10 +239,10 @@ packages: dependency: transitive description: name: dart_style - sha256: "7306ab8a2359a48d22310ad823521d723acfed60ee1f7e37388e8986853b6820" + sha256: a9c30492da18ff84efe2422ba2d319a89942d93e58eb0b73d32abe822ef54b7b url: "https://pub.dev" source: hosted - version: "2.3.8" + version: "3.1.3" dbus: dependency: transitive description: @@ -403,18 +382,10 @@ packages: source: hosted version: "0.2.0" hive: - dependency: transitive - description: - name: hive - sha256: "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941" - url: "https://pub.dev" - source: hosted - version: "2.2.3" - hive_generator: dependency: "direct dev" description: - name: hive_generator - sha256: "06cb8f58ace74de61f63500564931f9505368f45f98958bd7a6c35ba24159db4" + name: hive + sha256: "5184b6ea455689754578267c31c3b0b329cccf20a5f2bfdab6941c29c3d3c09a" url: "https://pub.dev" source: hosted version: "2.0.1" @@ -478,26 +449,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" url: "https://pub.dev" source: hosted - version: "10.0.9" + version: "11.0.2" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" url: "https://pub.dev" source: hosted - version: "3.0.9" + version: "3.0.10" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" ledger_flutter_plus: dependency: "direct main" description: @@ -522,38 +493,30 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.0" - macros: - dependency: transitive - description: - name: macros - sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656" - url: "https://pub.dev" - source: hosted - version: "0.1.3-main.0" matcher: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.19" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" meta: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" mime: dependency: transitive description: @@ -566,26 +529,26 @@ packages: dependency: "direct main" description: name: mobx - sha256: bf1a90e5bcfd2851fc6984e20eef69557c65d9e4d0a88f5be4cf72c9819ce6b0 + sha256: "25ea9a3ee69243d578fb6288721d8eeb18550d0391c32f896d377d994154bff2" url: "https://pub.dev" source: hosted - version: "2.5.0" + version: "2.6.0" mobx_codegen: dependency: "direct dev" description: name: mobx_codegen - sha256: "990da80722f7d7c0017dec92040b31545d625b15d40204c36a1e63d167c73cdc" + sha256: "6529bcae074838004b58ad01fbe4966be182a176aacfb723686985986ebac19f" url: "https://pub.dev" source: hosted - version: "2.7.0" + version: "2.7.7" mockito: dependency: "direct dev" description: name: mockito - sha256: f99d8d072e249f719a5531735d146d8cf04c580d93920b04de75bef6dfb2daf6 + sha256: eff30d002f0c8bf073b6f929df4483b543133fcafce056870163587b03f1d422 url: "https://pub.dev" source: hosted - version: "5.4.5" + version: "5.6.4" monero: dependency: "direct main" description: @@ -823,18 +786,10 @@ packages: dependency: transitive description: name: source_gen - sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" + sha256: ec37cc0e6694374cbef59ed79685572c870a54ede6fa30a3e420feb3adffea02 url: "https://pub.dev" source: hosted - version: "1.5.0" - source_helper: - dependency: transitive - description: - name: source_helper - sha256: "86d247119aedce8e63f4751bd9626fc9613255935558447569ad42f9f5b48b3c" - url: "https://pub.dev" - source: hosted - version: "1.3.5" + version: "4.2.3" source_span: dependency: transitive description: @@ -959,18 +914,10 @@ packages: dependency: transitive description: name: test_api - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a" url: "https://pub.dev" source: hosted - version: "0.7.4" - timing: - dependency: transitive - description: - name: timing - sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" - url: "https://pub.dev" - source: hosted - version: "1.0.1" + version: "0.7.10" torch_dart: dependency: transitive description: @@ -1040,10 +987,10 @@ packages: dependency: transitive description: name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.2.0" vm_service: dependency: transitive description: @@ -1109,5 +1056,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.7.0-0 <4.0.0" + dart: ">=3.9.0 <4.0.0" flutter: ">=3.24.0" diff --git a/cw_monero/pubspec.yaml b/cw_monero/pubspec.yaml index 516464d36..c84f08b04 100644 --- a/cw_monero/pubspec.yaml +++ b/cw_monero/pubspec.yaml @@ -16,8 +16,8 @@ dependencies: ffi: ^2.0.1 http: ^1.1.0 path_provider: ^2.0.11 - mobx: ^2.0.7+4 - flutter_mobx: ^2.0.6+1 + mobx: ^2.6.0 + flutter_mobx: ^2.3.0 intl: any encrypt: ^5.0.1 polyseed: ^0.0.7 @@ -39,11 +39,11 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - build_runner: ^2.4.15 - build_resolvers: ^2.4.4 - mobx_codegen: ^2.0.7 + build_runner: ^2.15.0 + mobx_codegen: ^2.7.7 mockito: ^5.4.5 - hive_generator: ^2.0.1 +# hive_generator: ^2.0.1 + hive: 2.0.1 sqflite_common_ffi: ^2.3.4+4 dependency_overrides: diff --git a/cw_nano/pubspec.lock b/cw_nano/pubspec.lock index 72684a8fc..509d74498 100644 --- a/cw_nano/pubspec.lock +++ b/cw_nano/pubspec.lock @@ -5,23 +5,18 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab" + sha256: "8d7ff3948166b8ec5da0fbb5962000926b8e02f2ed9b3e51d1738905fbd4c98d" url: "https://pub.dev" source: hosted - version: "76.0.0" - _macros: - dependency: transitive - description: dart - source: sdk - version: "0.3.3" + version: "93.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e" + sha256: de7148ed2fcec579b19f122c1800933dfa028f6d9fd38a152b04b1516cec120b url: "https://pub.dev" source: hosted - version: "6.11.0" + version: "10.0.1" args: dependency: transitive description: @@ -100,18 +95,18 @@ packages: dependency: transitive description: name: build - sha256: cef23f1eda9b57566c81e2133d196f8e3df48f244b317368d65c5943d91148f0 + sha256: a156715e7cd728130c592f30552575908aae5b100005fbc1f0fb16b3c03a3d10 url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "4.0.6" build_config: dependency: transitive description: name: build_config - sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33" + sha256: "4070d2a59f8eec34c97c86ceb44403834899075f66e8a9d59706f8e7834f6f71" url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.3.0" build_daemon: dependency: transitive description: @@ -120,30 +115,14 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.4" - build_resolvers: - dependency: transitive - description: - name: build_resolvers - sha256: b9e4fda21d846e192628e7a4f6deda6888c36b5b69ba02ff291a01fd529140f0 - url: "https://pub.dev" - source: hosted - version: "2.4.4" build_runner: dependency: "direct dev" description: name: build_runner - sha256: "058fe9dce1de7d69c4b84fada934df3e0153dd000758c4d65964d0166779aa99" + sha256: "1523ce62448ebac2c15a8ba5fbad8acac169788658a7dd2a1c2d9c2a9318b9a6" url: "https://pub.dev" source: hosted - version: "2.4.15" - build_runner_core: - dependency: transitive - description: - name: build_runner_core - sha256: "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021" - url: "https://pub.dev" - source: hosted - version: "8.0.0" + version: "2.15.0" built_collection: dependency: transitive description: @@ -173,10 +152,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" checked_yaml: dependency: transitive description: @@ -193,14 +172,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.2" - code_builder: - dependency: transitive - description: - name: code_builder - sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e" - url: "https://pub.dev" - source: hosted - version: "4.10.1" collection: dependency: transitive description: @@ -252,10 +223,10 @@ packages: dependency: transitive description: name: dart_style - sha256: "7306ab8a2359a48d22310ad823521d723acfed60ee1f7e37388e8986853b6820" + sha256: "29f7ecc274a86d32920b1d9cfc7502fa87220da41ec60b55f329559d5732e2b2" url: "https://pub.dev" source: hosted - version: "2.3.8" + version: "3.1.7" decimal: dependency: "direct main" description: @@ -343,14 +314,6 @@ packages: description: flutter source: sdk version: "0.0.0" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 - url: "https://pub.dev" - source: hosted - version: "4.0.0" glob: dependency: transitive description: @@ -376,18 +339,10 @@ packages: source: hosted version: "0.2.0" hive: - dependency: transitive - description: - name: hive - sha256: "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941" - url: "https://pub.dev" - source: hosted - version: "2.2.3" - hive_generator: dependency: "direct dev" description: - name: hive_generator - sha256: "06cb8f58ace74de61f63500564931f9505368f45f98958bd7a6c35ba24159db4" + name: hive + sha256: "5184b6ea455689754578267c31c3b0b329cccf20a5f2bfdab6941c29c3d3c09a" url: "https://pub.dev" source: hosted version: "2.0.1" @@ -451,26 +406,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" url: "https://pub.dev" source: hosted - version: "10.0.9" + version: "11.0.2" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" url: "https://pub.dev" source: hosted - version: "3.0.9" + version: "3.0.10" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" libcrypto: dependency: "direct main" description: @@ -487,38 +442,30 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.0" - macros: - dependency: transitive - description: - name: macros - sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656" - url: "https://pub.dev" - source: hosted - version: "0.1.3-main.0" matcher: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.19" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" meta: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" mime: dependency: transitive description: @@ -531,18 +478,18 @@ packages: dependency: "direct main" description: name: mobx - sha256: bf1a90e5bcfd2851fc6984e20eef69557c65d9e4d0a88f5be4cf72c9819ce6b0 + sha256: "25ea9a3ee69243d578fb6288721d8eeb18550d0391c32f896d377d994154bff2" url: "https://pub.dev" source: hosted - version: "2.5.0" + version: "2.6.0" mobx_codegen: dependency: "direct dev" description: name: mobx_codegen - sha256: e0abbbc651a69550440f6b65c99ec222a1e2a4afd7baec8ba0f3088c7ca582a8 + sha256: "6529bcae074838004b58ad01fbe4966be182a176aacfb723686985986ebac19f" url: "https://pub.dev" source: hosted - version: "2.7.1" + version: "2.7.7" nanodart: dependency: transitive description: @@ -812,18 +759,10 @@ packages: dependency: transitive description: name: source_gen - sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" + sha256: ec37cc0e6694374cbef59ed79685572c870a54ede6fa30a3e420feb3adffea02 url: "https://pub.dev" source: hosted - version: "1.5.0" - source_helper: - dependency: transitive - description: - name: source_helper - sha256: "86d247119aedce8e63f4751bd9626fc9613255935558447569ad42f9f5b48b3c" - url: "https://pub.dev" - source: hosted - version: "1.3.5" + version: "4.2.3" source_span: dependency: transitive description: @@ -948,18 +887,10 @@ packages: dependency: transitive description: name: test_api - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a" url: "https://pub.dev" source: hosted - version: "0.7.4" - timing: - dependency: transitive - description: - name: timing - sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" - url: "https://pub.dev" - source: hosted - version: "1.0.1" + version: "0.7.10" torch_dart: dependency: transitive description: @@ -995,10 +926,10 @@ packages: dependency: transitive description: name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.2.0" vm_service: dependency: transitive description: @@ -1056,5 +987,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.7.0-0 <4.0.0" + dart: ">=3.10.0 <4.0.0" flutter: ">=3.27.0" diff --git a/cw_nano/pubspec.yaml b/cw_nano/pubspec.yaml index a85a4aee5..a3ef2ea67 100644 --- a/cw_nano/pubspec.yaml +++ b/cw_nano/pubspec.yaml @@ -12,7 +12,7 @@ environment: dependencies: flutter: sdk: flutter - mobx: ^2.0.7+4 + mobx: ^2.6.0 bip39: ^1.0.6 bip32: ^2.0.0 decimal: ^2.3.3 @@ -31,9 +31,10 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - build_runner: ^2.4.15 - mobx_codegen: ^2.0.7 - hive_generator: ^2.0.1 + build_runner: ^2.15.0 + mobx_codegen: ^2.7.7 +# hive_generator: ^2.0.1 + hive: 2.0.1 dependency_overrides: watcher: ^1.1.0 diff --git a/cw_solana/pubspec.yaml b/cw_solana/pubspec.yaml index fdc946c08..1d0572ddd 100644 --- a/cw_solana/pubspec.yaml +++ b/cw_solana/pubspec.yaml @@ -35,7 +35,7 @@ dev_dependencies: flutter_lints: ^2.0.0 build_runner: ^2.4.15 mobx_codegen: ^2.0.7 - hive_generator: ^2.0.1 +# hive_generator: ^2.0.1 dependency_overrides: watcher: ^1.1.0 diff --git a/cw_tron/pubspec.yaml b/cw_tron/pubspec.yaml index f406f3ac6..8e742aae2 100644 --- a/cw_tron/pubspec.yaml +++ b/cw_tron/pubspec.yaml @@ -33,7 +33,7 @@ dev_dependencies: flutter_lints: ^2.0.0 build_runner: ^2.4.15 mobx_codegen: ^2.1.1 - hive_generator: ^2.0.1 +# hive_generator: ^2.0.1 flutter: # assets: # - images/a_dot_burr.jpeg diff --git a/cw_wownero/pubspec.lock b/cw_wownero/pubspec.lock index 3c12da261..4b622b350 100644 --- a/cw_wownero/pubspec.lock +++ b/cw_wownero/pubspec.lock @@ -5,23 +5,18 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab" + sha256: "8d7ff3948166b8ec5da0fbb5962000926b8e02f2ed9b3e51d1738905fbd4c98d" url: "https://pub.dev" source: hosted - version: "76.0.0" - _macros: - dependency: transitive - description: dart - source: sdk - version: "0.3.3" + version: "93.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e" + sha256: de7148ed2fcec579b19f122c1800933dfa028f6d9fd38a152b04b1516cec120b url: "https://pub.dev" source: hosted - version: "6.11.0" + version: "10.0.1" args: dependency: transitive description: @@ -76,18 +71,18 @@ packages: dependency: transitive description: name: build - sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" + sha256: a156715e7cd728130c592f30552575908aae5b100005fbc1f0fb16b3c03a3d10 url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "4.0.6" build_config: dependency: transitive description: name: build_config - sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 + sha256: "4070d2a59f8eec34c97c86ceb44403834899075f66e8a9d59706f8e7834f6f71" url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.3.0" build_daemon: dependency: transitive description: @@ -96,30 +91,14 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.2" - build_resolvers: - dependency: "direct dev" - description: - name: build_resolvers - sha256: b9e4fda21d846e192628e7a4f6deda6888c36b5b69ba02ff291a01fd529140f0 - url: "https://pub.dev" - source: hosted - version: "2.4.4" build_runner: dependency: "direct dev" description: name: build_runner - sha256: "058fe9dce1de7d69c4b84fada934df3e0153dd000758c4d65964d0166779aa99" + sha256: "1523ce62448ebac2c15a8ba5fbad8acac169788658a7dd2a1c2d9c2a9318b9a6" url: "https://pub.dev" source: hosted - version: "2.4.15" - build_runner_core: - dependency: transitive - description: - name: build_runner_core - sha256: "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021" - url: "https://pub.dev" - source: hosted - version: "8.0.0" + version: "2.15.0" built_collection: dependency: transitive description: @@ -132,10 +111,10 @@ packages: dependency: transitive description: name: built_value - sha256: "8b158ab94ec6913e480dc3f752418348b5ae099eb75868b5f4775f0572999c61" + sha256: "34e4067d30ce212937df995f03b69992eea683539ceeac7f679a1f1eba055b56" url: "https://pub.dev" source: hosted - version: "8.9.4" + version: "8.12.6" cake_backup: dependency: transitive description: @@ -149,10 +128,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" checked_yaml: dependency: transitive description: @@ -169,14 +148,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.2" - code_builder: - dependency: transitive - description: - name: code_builder - sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e" - url: "https://pub.dev" - source: hosted - version: "4.10.1" collection: dependency: transitive description: @@ -228,10 +199,10 @@ packages: dependency: transitive description: name: dart_style - sha256: "7306ab8a2359a48d22310ad823521d723acfed60ee1f7e37388e8986853b6820" + sha256: "29f7ecc274a86d32920b1d9cfc7502fa87220da41ec60b55f329559d5732e2b2" url: "https://pub.dev" source: hosted - version: "2.3.8" + version: "3.1.7" decimal: dependency: transitive description: @@ -298,14 +269,6 @@ packages: description: flutter source: sdk version: "0.0.0" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 - url: "https://pub.dev" - source: hosted - version: "4.0.0" glob: dependency: transitive description: @@ -339,18 +302,10 @@ packages: source: hosted version: "2.6.0" hive: - dependency: transitive - description: - name: hive - sha256: "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941" - url: "https://pub.dev" - source: hosted - version: "2.2.3" - hive_generator: dependency: "direct dev" description: - name: hive_generator - sha256: "06cb8f58ace74de61f63500564931f9505368f45f98958bd7a6c35ba24159db4" + name: hive + sha256: "5184b6ea455689754578267c31c3b0b329cccf20a5f2bfdab6941c29c3d3c09a" url: "https://pub.dev" source: hosted version: "2.0.1" @@ -414,26 +369,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" url: "https://pub.dev" source: hosted - version: "10.0.9" + version: "11.0.2" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" url: "https://pub.dev" source: hosted - version: "3.0.9" + version: "3.0.10" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" logging: dependency: transitive description: @@ -442,38 +397,30 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.0" - macros: - dependency: transitive - description: - name: macros - sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656" - url: "https://pub.dev" - source: hosted - version: "0.1.3-main.0" matcher: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.19" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" meta: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" mime: dependency: transitive description: @@ -486,18 +433,18 @@ packages: dependency: "direct main" description: name: mobx - sha256: bf1a90e5bcfd2851fc6984e20eef69557c65d9e4d0a88f5be4cf72c9819ce6b0 + sha256: "25ea9a3ee69243d578fb6288721d8eeb18550d0391c32f896d377d994154bff2" url: "https://pub.dev" source: hosted - version: "2.5.0" + version: "2.6.0" mobx_codegen: dependency: "direct dev" description: name: mobx_codegen - sha256: e0abbbc651a69550440f6b65c99ec222a1e2a4afd7baec8ba0f3088c7ca582a8 + sha256: "6529bcae074838004b58ad01fbe4966be182a176aacfb723686985986ebac19f" url: "https://pub.dev" source: hosted - version: "2.7.1" + version: "2.7.7" monero: dependency: "direct main" description: @@ -711,18 +658,10 @@ packages: dependency: transitive description: name: source_gen - sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" + sha256: ec37cc0e6694374cbef59ed79685572c870a54ede6fa30a3e420feb3adffea02 url: "https://pub.dev" source: hosted - version: "1.5.0" - source_helper: - dependency: transitive - description: - name: source_helper - sha256: "86d247119aedce8e63f4751bd9626fc9613255935558447569ad42f9f5b48b3c" - url: "https://pub.dev" - source: hosted - version: "1.3.5" + version: "4.2.3" source_span: dependency: transitive description: @@ -847,18 +786,10 @@ packages: dependency: transitive description: name: test_api - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a" url: "https://pub.dev" source: hosted - version: "0.7.4" - timing: - dependency: transitive - description: - name: timing - sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" - url: "https://pub.dev" - source: hosted - version: "1.0.1" + version: "0.7.10" torch_dart: dependency: transitive description: @@ -894,10 +825,10 @@ packages: dependency: transitive description: name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.2.0" vm_service: dependency: transitive description: @@ -955,5 +886,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.7.0-0 <4.0.0" + dart: ">=3.10.0 <4.0.0" flutter: ">=3.24.0" diff --git a/cw_wownero/pubspec.yaml b/cw_wownero/pubspec.yaml index ca9c70bea..6f9902452 100644 --- a/cw_wownero/pubspec.yaml +++ b/cw_wownero/pubspec.yaml @@ -14,8 +14,8 @@ dependencies: ffi: ^2.0.1 http: ^1.1.0 path_provider: ^2.0.11 - mobx: ^2.0.7+4 - flutter_mobx: ^2.0.6+1 + mobx: ^2.6.0 + flutter_mobx: ^2.3.0 intl: any encrypt: ^5.0.1 polyseed: ^0.0.7 @@ -31,10 +31,10 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - build_runner: ^2.4.15 - build_resolvers: ^2.4.4 - mobx_codegen: ^2.0.7 - hive_generator: ^2.0.1 + build_runner: ^2.15.0 + mobx_codegen: ^2.7.7 +# hive_generator: ^2.0.1 + hive: 2.0.1 dependency_overrides: watcher: ^1.1.0 diff --git a/cw_zano/pubspec.lock b/cw_zano/pubspec.lock index 080704b93..c4602f532 100644 --- a/cw_zano/pubspec.lock +++ b/cw_zano/pubspec.lock @@ -5,23 +5,18 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab" + sha256: "8d7ff3948166b8ec5da0fbb5962000926b8e02f2ed9b3e51d1738905fbd4c98d" url: "https://pub.dev" source: hosted - version: "76.0.0" - _macros: - dependency: transitive - description: dart - source: sdk - version: "0.3.3" + version: "93.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e" + sha256: de7148ed2fcec579b19f122c1800933dfa028f6d9fd38a152b04b1516cec120b url: "https://pub.dev" source: hosted - version: "6.11.0" + version: "10.0.1" args: dependency: transitive description: @@ -76,18 +71,18 @@ packages: dependency: transitive description: name: build - sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" + sha256: a156715e7cd728130c592f30552575908aae5b100005fbc1f0fb16b3c03a3d10 url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "4.0.6" build_config: dependency: transitive description: name: build_config - sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 + sha256: "4070d2a59f8eec34c97c86ceb44403834899075f66e8a9d59706f8e7834f6f71" url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.3.0" build_daemon: dependency: transitive description: @@ -96,30 +91,14 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.2" - build_resolvers: - dependency: "direct dev" - description: - name: build_resolvers - sha256: b9e4fda21d846e192628e7a4f6deda6888c36b5b69ba02ff291a01fd529140f0 - url: "https://pub.dev" - source: hosted - version: "2.4.4" build_runner: dependency: "direct dev" description: name: build_runner - sha256: "058fe9dce1de7d69c4b84fada934df3e0153dd000758c4d65964d0166779aa99" + sha256: "1523ce62448ebac2c15a8ba5fbad8acac169788658a7dd2a1c2d9c2a9318b9a6" url: "https://pub.dev" source: hosted - version: "2.4.15" - build_runner_core: - dependency: transitive - description: - name: build_runner_core - sha256: "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021" - url: "https://pub.dev" - source: hosted - version: "8.0.0" + version: "2.15.0" built_collection: dependency: transitive description: @@ -132,10 +111,10 @@ packages: dependency: transitive description: name: built_value - sha256: "8b158ab94ec6913e480dc3f752418348b5ae099eb75868b5f4775f0572999c61" + sha256: "34e4067d30ce212937df995f03b69992eea683539ceeac7f679a1f1eba055b56" url: "https://pub.dev" source: hosted - version: "8.9.4" + version: "8.12.6" cake_backup: dependency: transitive description: @@ -149,10 +128,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" checked_yaml: dependency: transitive description: @@ -169,14 +148,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.2" - code_builder: - dependency: transitive - description: - name: code_builder - sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e" - url: "https://pub.dev" - source: hosted - version: "4.10.1" collection: dependency: transitive description: @@ -228,10 +199,10 @@ packages: dependency: transitive description: name: dart_style - sha256: "7306ab8a2359a48d22310ad823521d723acfed60ee1f7e37388e8986853b6820" + sha256: "29f7ecc274a86d32920b1d9cfc7502fa87220da41ec60b55f329559d5732e2b2" url: "https://pub.dev" source: hosted - version: "2.3.8" + version: "3.1.7" decimal: dependency: "direct main" description: @@ -311,14 +282,6 @@ packages: url: "https://pub.dev" source: hosted version: "8.2.12" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 - url: "https://pub.dev" - source: hosted - version: "4.0.0" glob: dependency: transitive description: @@ -336,18 +299,10 @@ packages: source: hosted version: "2.3.2" hive: - dependency: transitive - description: - name: hive - sha256: "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941" - url: "https://pub.dev" - source: hosted - version: "2.2.3" - hive_generator: dependency: "direct dev" description: - name: hive_generator - sha256: "06cb8f58ace74de61f63500564931f9505368f45f98958bd7a6c35ba24159db4" + name: hive + sha256: "5184b6ea455689754578267c31c3b0b329cccf20a5f2bfdab6941c29c3d3c09a" url: "https://pub.dev" source: hosted version: "2.0.1" @@ -419,26 +374,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" url: "https://pub.dev" source: hosted - version: "10.0.9" + version: "11.0.2" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" url: "https://pub.dev" source: hosted - version: "3.0.9" + version: "3.0.10" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" logging: dependency: transitive description: @@ -447,38 +402,30 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.0" - macros: - dependency: transitive - description: - name: macros - sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656" - url: "https://pub.dev" - source: hosted - version: "0.1.3-main.0" matcher: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.19" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" meta: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" mime: dependency: transitive description: @@ -491,18 +438,18 @@ packages: dependency: "direct main" description: name: mobx - sha256: bf1a90e5bcfd2851fc6984e20eef69557c65d9e4d0a88f5be4cf72c9819ce6b0 + sha256: "25ea9a3ee69243d578fb6288721d8eeb18550d0391c32f896d377d994154bff2" url: "https://pub.dev" source: hosted - version: "2.5.0" + version: "2.6.0" mobx_codegen: dependency: "direct dev" description: name: mobx_codegen - sha256: e0abbbc651a69550440f6b65c99ec222a1e2a4afd7baec8ba0f3088c7ca582a8 + sha256: "6529bcae074838004b58ad01fbe4966be182a176aacfb723686985986ebac19f" url: "https://pub.dev" source: hosted - version: "2.7.1" + version: "2.7.7" monero: dependency: "direct main" description: @@ -708,18 +655,10 @@ packages: dependency: transitive description: name: source_gen - sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" + sha256: ec37cc0e6694374cbef59ed79685572c870a54ede6fa30a3e420feb3adffea02 url: "https://pub.dev" source: hosted - version: "1.5.0" - source_helper: - dependency: transitive - description: - name: source_helper - sha256: "86d247119aedce8e63f4751bd9626fc9613255935558447569ad42f9f5b48b3c" - url: "https://pub.dev" - source: hosted - version: "1.3.5" + version: "4.2.3" source_span: dependency: transitive description: @@ -844,18 +783,10 @@ packages: dependency: transitive description: name: test_api - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a" url: "https://pub.dev" source: hosted - version: "0.7.4" - timing: - dependency: transitive - description: - name: timing - sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe" - url: "https://pub.dev" - source: hosted - version: "1.0.2" + version: "0.7.10" torch_dart: dependency: transitive description: @@ -891,10 +822,10 @@ packages: dependency: transitive description: name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.2.0" vm_service: dependency: transitive description: @@ -952,5 +883,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.7.0-0 <4.0.0" + dart: ">=3.10.0 <4.0.0" flutter: ">=3.24.0" diff --git a/cw_zano/pubspec.yaml b/cw_zano/pubspec.yaml index 16585b715..7aa32af60 100644 --- a/cw_zano/pubspec.yaml +++ b/cw_zano/pubspec.yaml @@ -14,8 +14,8 @@ dependencies: ffi: ^2.0.1 http: ^1.1.0 path_provider: ^2.0.11 - mobx: ^2.1.4 - flutter_mobx: ^2.0.6+1 + mobx: ^2.6.0 + flutter_mobx: ^2.3.0 intl: any decimal: ^2.3.3 cw_core: @@ -30,10 +30,10 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - build_runner: ^2.4.15 - mobx_codegen: ^2.1.1 - build_resolvers: ^2.4.4 - hive_generator: ^2.0.1 + build_runner: ^2.15.0 + mobx_codegen: ^2.7.7 +# hive_generator: ^2.0.1 + hive: 2.0.1 dependency_overrides: watcher: ^1.1.0 diff --git a/cw_zcash/pubspec.yaml b/cw_zcash/pubspec.yaml index 835981eb2..72e6de2be 100644 --- a/cw_zcash/pubspec.yaml +++ b/cw_zcash/pubspec.yaml @@ -13,7 +13,7 @@ dependencies: path: ../scripts/zcash_lib/packages/warp_api_ffi cw_core: path: ../cw_core - mobx: ^2.5.0 + mobx: ^2.6.0 bip39: ^1.0.6 mutex: ^3.1.0 @@ -31,8 +31,7 @@ dependency_overrides: dev_dependencies: flutter_test: sdk: flutter - build_runner: ^2.4.15 - build_resolvers: ^2.4.4 - mobx_codegen: ^2.0.7 - hive_generator: ^2.0.1 - ffigen: ^16.1.0 + build_runner: ^2.15.0 + mobx_codegen: ^2.7.7 +# hive_generator: ^2.0.1 + ffigen: ^20.1.1 diff --git a/docs/ADDING_NEW_WALLET_TYPES.md b/docs/ADDING_NEW_WALLET_TYPES.md index 91a69b9f8..4beecba8a 100644 --- a/docs/ADDING_NEW_WALLET_TYPES.md +++ b/docs/ADDING_NEW_WALLET_TYPES.md @@ -121,7 +121,6 @@ cd cw_walletx && flutter pub get && dart run build_runner build --delete-conflic dev_dependencies: build_runner: ^2.0.0 mobx_codegen: ^2.0.0 - hive_generator: ^2.0.0 ``` --- diff --git a/docs/builds/ANDROID.md b/docs/builds/ANDROID.md index 4964cfec6..f74fb4d0a 100644 --- a/docs/builds/ANDROID.md +++ b/docs/builds/ANDROID.md @@ -18,8 +18,8 @@ In order to build the latest version of Cake Wallet, simply run the following: git clone --branch main https://github.com/cake-tech/cake_wallet.git # NOTE: Replace `main` with the latest release tag available at https://github.com/cake-tech/cake_wallet/releases/latest. cd cake_wallet -# docker build -t ghcr.io/cake-tech/cake_wallet:debian13-flutter3.32.0-ndkr28-go1.24.1-ruststablenightly . # Uncomment to build the docker image yourself instead of pulling it from the registry -docker run -v$(pwd):$(pwd) -w $(pwd) -i --rm ghcr.io/cake-tech/cake_wallet:debian13-flutter3.32.0-ndkr28-go1.24.1-ruststablenightly bash -x << EOF +# docker build -t ghcr.io/cake-tech/cake_wallet:debian13-flutter3.41.9-ndkr28-go1.24.1-ruststablenightly . # Uncomment to build the docker image yourself instead of pulling it from the registry +docker run -v$(pwd):$(pwd) -w $(pwd) -i --rm ghcr.io/cake-tech/cake_wallet:debian13-flutter3.41.9-ndkr28-go1.24.1-ruststablenightly bash -x << EOF set -x -e git config --global --add safe.directory '*' pushd scripts/android diff --git a/docs/builds/LINUX.md b/docs/builds/LINUX.md index 27bce5f14..13eb05551 100644 --- a/docs/builds/LINUX.md +++ b/docs/builds/LINUX.md @@ -20,8 +20,8 @@ In order to build the latest version of Cake Wallet, simply run the following: git clone --branch main https://github.com/cake-tech/cake_wallet.git # NOTE: Replace `main` with the latest release tag available at https://github.com/cake-tech/cake_wallet/releases/latest. cd cake_wallet -# docker build -t ghcr.io/cake-tech/cake_wallet:debian13-flutter3.32.0-ndkr28-go1.24.1-ruststablenightly . # Uncomment to build the docker image yourself instead of pulling it from the registry -docker run --privileged -v$(pwd):$(pwd) -w $(pwd) -i --rm ghcr.io/cake-tech/cake_wallet:debian13-flutter3.32.0-ndkr28-go1.24.1-ruststablenightly bash -x << EOF +# docker build -t ghcr.io/cake-tech/cake_wallet:debian13-flutter3.41.9-ndkr28-go1.24.1-ruststablenightly . # Uncomment to build the docker image yourself instead of pulling it from the registry +docker run --privileged -v$(pwd):$(pwd) -w $(pwd) -i --rm ghcr.io/cake-tech/cake_wallet:debian13-flutter3.41.9-ndkr28-go1.24.1-ruststablenightly bash -x << EOF set -x -e git config --global --add safe.directory '*' pushd scripts diff --git a/ios/Podfile.lock b/ios/Podfile.lock index d683b7c17..29a2ad974 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -85,9 +85,6 @@ PODS: - OrderedSet (6.0.3) - package_info_plus (0.4.5): - Flutter - - path_provider_foundation (0.0.1): - - Flutter - - FlutterMacOS - payjoin_flutter (0.23.0) - permission_handler_apple (9.4.8): - Flutter @@ -182,7 +179,6 @@ DEPENDENCIES: - integration_test (from `.symlinks/plugins/integration_test/ios`) - local_auth_darwin (from `.symlinks/plugins/local_auth_darwin/darwin`) - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) - - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) - payjoin_flutter (from `.symlinks/plugins/payjoin_flutter/ios`) - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) - quick_actions_ios (from `.symlinks/plugins/quick_actions_ios/ios`) @@ -262,8 +258,6 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/local_auth_darwin/darwin" package_info_plus: :path: ".symlinks/plugins/package_info_plus/ios" - path_provider_foundation: - :path: ".symlinks/plugins/path_provider_foundation/darwin" payjoin_flutter: :path: ".symlinks/plugins/payjoin_flutter/ios" permission_handler_apple: @@ -306,31 +300,30 @@ SPEC CHECKSUMS: breez_sdk_spark_flutter: ed3b6709b8ce9b40309d8728640eade5b19e8a0d connectivity_plus: cb623214f4e1f6ef8fe7403d580fdad517d2f7dd CryptoSwift: e64e11850ede528a02a0f3e768cec8e9d92ecb90 - cw_decred: a02cf30175a46971c1e2fa22c48407534541edc6 - cw_mweb: 3aea2fb35b2bd04d8b2d21b83216f3b8fb768d85 - device_display_brightness: 04374ebd653619292c1d996f00f42877ea19f17f - device_info_plus: 335f3ce08d2e174b9fdc3db3db0f4e3b1f66bd89 - devicelocale: bd64aa714485a8afdaded0892c1e7d5b7f680cf8 + cw_decred: 9c0e1df74745b51a1289ec5e91fb9e24b68fa14a + cw_mweb: 22cd01dfb8ad2d39b15332006f22046aaa8352a3 + device_display_brightness: 1510e72c567a1f6ce6ffe393dcd9afd1426034f7 + device_info_plus: c6fb39579d0f423935b0c9ce7ee2f44b71b9fce6 + devicelocale: 35ba84dc7f45f527c3001535d8c8d104edd5d926 DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60 dnssec_proof: d461cac7bd3301eb7447f87936745a0c1ae0a67e - fast_scanner: 2cb1ad3e69e645e9980fb4961396ce5804caa3e3 - file_picker: 9b3292d7c8bc68c8a7bf8eb78f730e49c8efc517 - Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 - flutter_inappwebview_ios: b89ba3482b96fb25e00c967aae065701b66e9b99 - flutter_local_authentication: 989278c681612f1ee0e36019e149137f114b9d7f - flutter_local_notifications: a5a732f069baa862e728d839dd2ebb904737effb - flutter_mailer: 3a8cd4f36c960fb04528d5471097270c19fec1c4 - flutter_native_splash: c32d145d68aeda5502d5f543ee38c192065986cf - flutter_secure_storage: 2c2ff13db9e0a5647389bff88b0ecac56e3f3418 - fluttertoast: 2c67e14dce98bbdb200df9e1acf610d7a6264ea1 - image_picker_ios: 7fe1ff8e34c1790d6fff70a32484959f563a928a - in_app_review: 7dd1ea365263f834b8464673f9df72c80c17c937 - integration_test: 4a889634ef21a45d28d50d622cf412dc6d9f586e - local_auth_darwin: d2e8c53ef0c4f43c646462e3415432c4dab3ae19 + fast_scanner: 44c00940355a51258cd6c2085734193cd23d95bc + file_picker: 09aa5ec1ab24135ccd7a1621c46c84134bfd6655 + Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467 + flutter_inappwebview_ios: 6f63631e2c62a7c350263b13fa5427aedefe81d4 + flutter_local_authentication: 1172a4dd88f6306dadce067454e2c4caf07977bb + flutter_local_notifications: ff50f8405aaa0ccdc7dcfb9022ca192e8ad9688f + flutter_mailer: 2ef5a67087bc8c6c4cefd04a178bf1ae2c94cd83 + flutter_native_splash: df59bb2e1421aa0282cb2e95618af4dcb0c56c29 + flutter_secure_storage: 23fc622d89d073675f2eaa109381aefbcf5a49be + fluttertoast: 21eecd6935e7064cc1fcb733a4c5a428f3f24f0f + image_picker_ios: 4f2f91b01abdb52842a8e277617df877e40f905b + in_app_review: 436034b18594851a7328d7f1c2ed5ec235b79cfc + integration_test: 252f60fa39af5e17c3aa9899d35d908a0721b573 + local_auth_darwin: 63c73d6d28cc3e239be2b6aa460ea6e317cd5100 OrderedSet: e539b66b644ff081c73a262d24ad552a69be3a94 - package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499 - path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564 + package_info_plus: c0502532a26c7662a62a356cebe2692ec5fe4ec4 payjoin_flutter: d9d4c8aa16bd5dfedb9b21d0edc8199e0187d96e permission_handler_apple: 92d754bbaa7361d436db2d6c3c1c2a0fdcec462e quick_actions_ios: 4b07fb49d8d8f3518d7565fbb7a91014067a7d82 @@ -338,13 +331,13 @@ SPEC CHECKSUMS: rive_common: dd421daaf9ae69f0125aa761dd96abd278399952 rlz: 3f4022361f540a5c26d9d2474fea1d2455b69d8d SDWebImage: 9f177d83116802728e122410fb25ad88f5c7608a - sensitive_clipboard: 161e9abc3d56b3131309d8a321eb4690a803c16b - share_plus: 50da8cb520a8f0f65671c6c6a99b3617ed10a58a - shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7 - sp_scanner: b1bc9321690980bdb44bba7ec85d5543e716d1b5 - sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0 + sensitive_clipboard: d4866e5d176581536c27bb1618642ee83adca986 + share_plus: 8b6f8b3447e494cca5317c8c3073de39b3600d1f + shared_preferences_foundation: 5086985c1d43c5ba4d5e69a4e8083a389e2909e6 + sp_scanner: eaa617fa827396b967116b7f1f43549ca62e9a12 + sqflite_darwin: 5a7236e3b501866c1c9befc6771dfd73ffb8702d sqlite3: 73513155ec6979715d3904ef53a8d68892d4032b - sqlite3_flutter_libs: 83f8e9f5b6554077f1d93119fe20ebaa5f3a9ef1 + sqlite3_flutter_libs: 86f82662868ee26ff3451f73cac9c5fc2a1f57fa SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4 torch_dart: f4620705d10f05492fab047f2fa1c3a600e7d17d uni_links: ed8c961e47ed9ce42b6d91e1de8049e38a4b3152 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 6d177539a..2c2584e8e 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -483,7 +483,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -582,7 +582,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -632,7 +632,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift index 853372825..691c85409 100644 --- a/ios/Runner/AppDelegate.swift +++ b/ios/Runner/AppDelegate.swift @@ -2,7 +2,7 @@ import UIKit import Flutter @main -@objc class AppDelegate: FlutterAppDelegate { +@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? @@ -11,101 +11,120 @@ import Flutter UNUserNotificationCenter.current().delegate = self as? UNUserNotificationCenterDelegate } - makeSecure() - - let controller : FlutterViewController = window?.rootViewController as! FlutterViewController - let legacyMigrationChannel = FlutterMethodChannel( - name: "com.cakewallet.cakewallet/legacy_wallet_migration", - binaryMessenger: controller.binaryMessenger) - legacyMigrationChannel.setMethodCallHandler({ - (call: FlutterMethodCall, result: @escaping FlutterResult) -> Void in - - switch call.method { - case "decrypt": - guard let args = call.arguments as? Dictionary, - let data = args["bytes"] as? FlutterStandardTypedData, - let key = args["key"] as? String, - let salt = args["salt"] as? String else { - result(nil) - return - } - - let content = decrypt(data: data.data, key: key, salt: salt) - result(content) - case "read_user_defaults": - guard let args = call.arguments as? Dictionary, - let key = args["key"] as? String, - let type = args["type"] as? String else { - result(nil) - return - } - - var value: Any? - - switch (type) { - case "string": - value = UserDefaults.standard.string(forKey: key) - case "int": - value = UserDefaults.standard.integer(forKey: key) - case "bool": - value = UserDefaults.standard.bool(forKey: key) - default: - break - } - - result(value) - default: - result(FlutterMethodNotImplemented) - } - }) - - let utilsChannel = FlutterMethodChannel( - name: "com.cake_wallet/native_utils", - binaryMessenger: controller.binaryMessenger) - utilsChannel.setMethodCallHandler({ [weak self] (call: FlutterMethodCall, result: @escaping FlutterResult) -> Void in - switch call.method { - case "sec_random": - guard let args = call.arguments as? Dictionary, - let count = args["count"] as? Int else { - result(nil) - return - } + DispatchQueue.main.async { [weak self] in + self?.makeSecure() + } - result(secRandom(count: count)) - - case "setIsAppSecure": - guard let args = call.arguments as? Dictionary, - let isAppSecure = args["isAppSecure"] else { - result(nil) - return - } - if isAppSecure { - self?.textField.isSecureTextEntry = true - } else { - self?.textField.isSecureTextEntry = false - } - - result(nil) - default: - result(FlutterMethodNotImplemented) - } - }) - - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + + let messenger = engineBridge.applicationRegistrar.messenger() + + let legacyMigrationChannel = FlutterMethodChannel( + name: "com.cakewallet.cakewallet/legacy_wallet_migration", + binaryMessenger: messenger) + legacyMigrationChannel.setMethodCallHandler({ + (call: FlutterMethodCall, result: @escaping FlutterResult) -> Void in + + switch call.method { + case "decrypt": + guard let args = call.arguments as? Dictionary, + let data = args["bytes"] as? FlutterStandardTypedData, + let key = args["key"] as? String, + let salt = args["salt"] as? String else { + result(nil) + return + } + + let content = decrypt(data: data.data, key: key, salt: salt) + result(content) + case "read_user_defaults": + guard let args = call.arguments as? Dictionary, + let key = args["key"] as? String, + let type = args["type"] as? String else { + result(nil) + return + } + + var value: Any? + + switch (type) { + case "string": + value = UserDefaults.standard.string(forKey: key) + case "int": + value = UserDefaults.standard.integer(forKey: key) + case "bool": + value = UserDefaults.standard.bool(forKey: key) + default: + break + } + + result(value) + default: + result(FlutterMethodNotImplemented) + } + }) + + let utilsChannel = FlutterMethodChannel( + name: "com.cake_wallet/native_utils", + binaryMessenger: messenger) + utilsChannel.setMethodCallHandler({ [weak self] (call: FlutterMethodCall, result: @escaping FlutterResult) -> Void in + switch call.method { + case "sec_random": + guard let args = call.arguments as? Dictionary, + let count = args["count"] as? Int else { + result(nil) + return + } + + result(secRandom(count: count)) + + case "setIsAppSecure": + guard let args = call.arguments as? Dictionary, + let isAppSecure = args["isAppSecure"] else { + result(nil) + return + } + + if isAppSecure { + self?.textField.isSecureTextEntry = true + } else { + self?.textField.isSecureTextEntry = false + } + + result(nil) + default: + result(FlutterMethodNotImplemented) + } + }) + } private var textField = UITextField() - private func makeSecure() { - if (!self.window.subviews.contains(textField)) { - let view = UIView(frame: CGRect(x: 0, y: 0, width: textField.frame.self.width, height: textField.frame.self.height)) - self.window.addSubview(textField) - self.window.layer.superlayer?.addSublayer(textField.layer) - textField.layer.sublayers?.last!.addSublayer(self.window.layer) - textField.leftView = view - textField.leftViewMode = .always - } +private func keyWindow() -> UIWindow? { + UIApplication.shared.connectedScenes + .compactMap { $0 as? UIWindowScene } + .flatMap { $0.windows } + .first { $0.isKeyWindow } +} + +private func makeSecure() { + guard let window = self.window ?? keyWindow() else { return } + + if (!window.subviews.contains(textField)) { + let view = UIView(frame: CGRect(x: 0, y: 0, width: textField.frame.self.width, height: textField.frame.self.height)) + window.addSubview(textField) + window.layer.superlayer?.addSublayer(textField.layer) + + textField.layer.sublayers?.last?.addSublayer(window.layer) + textField.leftView = view + textField.leftViewMode = .always } +} + } \ No newline at end of file diff --git a/ios/Runner/InfoBase.plist b/ios/Runner/InfoBase.plist index d82fec087..4eb4c105d 100644 --- a/ios/Runner/InfoBase.plist +++ b/ios/Runner/InfoBase.plist @@ -449,5 +449,26 @@ FlutterDeepLinkingEnabled + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneDelegateClassName + FlutterSceneDelegate + UISceneConfigurationName + flutter + UISceneStoryboardFile + Main + + + + diff --git a/lib/anonpay/anonpay_invoice_info.dart b/lib/anonpay/anonpay_invoice_info.dart index bd6776d00..d770f7384 100644 --- a/lib/anonpay/anonpay_invoice_info.dart +++ b/lib/anonpay/anonpay_invoice_info.dart @@ -3,37 +3,37 @@ import 'package:cw_core/hive_type_ids.dart'; import 'package:cw_core/keyable.dart'; import 'package:hive/hive.dart'; -part 'anonpay_invoice_info.g.dart'; +part 'anonpay_invoice_info.part.dart'; -@HiveType(typeId: AnonpayInvoiceInfo.typeId) +// @HiveType(typeId: AnonpayInvoiceInfo.typeId) class AnonpayInvoiceInfo extends HiveObject with Keyable implements AnonpayInfoBase { - @HiveField(0) + // @HiveField(0) final String invoiceId; - @HiveField(1) + // @HiveField(1) String status; - @HiveField(2) + // @HiveField(2) final double? fiatAmount; - @HiveField(3) + // @HiveField(3) final String? fiatEquiv; - @HiveField(4) + // @HiveField(4) final double? amountTo; - @HiveField(5) + // @HiveField(5) final String coinTo; - @HiveField(6) + // @HiveField(6) final String address; - @HiveField(7) + // @HiveField(7) final String clearnetUrl; - @HiveField(8) + // @HiveField(8) final String onionUrl; - @HiveField(9) + // @HiveField(9) final String clearnetStatusUrl; - @HiveField(10) + // @HiveField(10) final String onionStatusUrl; - @HiveField(11) + // @HiveField(11) final DateTime createdAt; - @HiveField(12) + // @HiveField(12) final String walletId; - @HiveField(13) + // @HiveField(13) final String provider; static const typeId = ANONPAY_INVOICE_INFO_TYPE_ID; diff --git a/lib/anonpay/anonpay_invoice_info.part.dart b/lib/anonpay/anonpay_invoice_info.part.dart new file mode 100644 index 000000000..7eba138c3 --- /dev/null +++ b/lib/anonpay/anonpay_invoice_info.part.dart @@ -0,0 +1,80 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'anonpay_invoice_info.dart'; + +// ************************************************************************** +// TypeAdapterGenerator +// ************************************************************************** + +class AnonpayInvoiceInfoAdapter extends TypeAdapter { + @override + final int typeId = 10; + + @override + AnonpayInvoiceInfo read(BinaryReader reader) { + final numOfFields = reader.readByte(); + final fields = { + for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(), + }; + return AnonpayInvoiceInfo( + invoiceId: fields[0] as String, + clearnetUrl: fields[7] as String, + onionUrl: fields[8] as String, + clearnetStatusUrl: fields[9] as String, + onionStatusUrl: fields[10] as String, + status: fields[1] as String, + fiatAmount: fields[2] as double?, + fiatEquiv: fields[3] as String?, + amountTo: fields[4] as double?, + coinTo: fields[5] as String, + address: fields[6] as String, + createdAt: fields[11] as DateTime, + walletId: fields[12] as String, + provider: fields[13] as String, + ); + } + + @override + void write(BinaryWriter writer, AnonpayInvoiceInfo obj) { + writer + ..writeByte(14) + ..writeByte(0) + ..write(obj.invoiceId) + ..writeByte(1) + ..write(obj.status) + ..writeByte(2) + ..write(obj.fiatAmount) + ..writeByte(3) + ..write(obj.fiatEquiv) + ..writeByte(4) + ..write(obj.amountTo) + ..writeByte(5) + ..write(obj.coinTo) + ..writeByte(6) + ..write(obj.address) + ..writeByte(7) + ..write(obj.clearnetUrl) + ..writeByte(8) + ..write(obj.onionUrl) + ..writeByte(9) + ..write(obj.clearnetStatusUrl) + ..writeByte(10) + ..write(obj.onionStatusUrl) + ..writeByte(11) + ..write(obj.createdAt) + ..writeByte(12) + ..write(obj.walletId) + ..writeByte(13) + ..write(obj.provider); + } + + @override + int get hashCode => typeId.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is AnonpayInvoiceInfoAdapter && + runtimeType == other.runtimeType && + typeId == other.typeId; +} diff --git a/lib/entities/contact.dart b/lib/entities/contact.dart index bd7fcf9a3..5c34e9c23 100644 --- a/lib/entities/contact.dart +++ b/lib/entities/contact.dart @@ -3,9 +3,9 @@ import 'package:cw_core/hive_type_ids.dart'; import 'package:cw_core/keyable.dart'; import 'package:hive/hive.dart'; -part 'contact.g.dart'; +part 'contact.part.dart'; -@HiveType(typeId: Contact.typeId) +// @HiveType(typeId: Contact.typeId) class Contact extends HiveObject with Keyable { Contact({required this.name, required this.address, CryptoCurrency? type, DateTime? lastChange, this.displayName = ""}) : lastChange = lastChange ?? DateTime.now() { @@ -17,19 +17,19 @@ class Contact extends HiveObject with Keyable { static const typeId = CONTACT_TYPE_ID; static const boxName = 'Contacts'; - @HiveField(0, defaultValue: '') + // @HiveField(0, defaultValue: '') String name; - @HiveField(1, defaultValue: '') + // @HiveField(1, defaultValue: '') String address; - @HiveField(2, defaultValue: 0) + // @HiveField(2, defaultValue: 0) late int raw; - @HiveField(3) + // @HiveField(3) DateTime lastChange; - @HiveField(4, defaultValue: "") + // @HiveField(4, defaultValue: "") String displayName; CryptoCurrency get type => CryptoCurrency.deserialize(raw: raw); diff --git a/lib/entities/contact.part.dart b/lib/entities/contact.part.dart new file mode 100644 index 000000000..f09d31026 --- /dev/null +++ b/lib/entities/contact.part.dart @@ -0,0 +1,52 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'contact.dart'; + +// ************************************************************************** +// TypeAdapterGenerator +// ************************************************************************** + +class ContactAdapter extends TypeAdapter { + @override + final int typeId = 0; + + @override + Contact read(BinaryReader reader) { + final numOfFields = reader.readByte(); + final fields = { + for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(), + }; + return Contact( + name: fields[0] == null ? '' : fields[0] as String, + address: fields[1] == null ? '' : fields[1] as String, + lastChange: fields[3] as DateTime?, + displayName: fields[4] == null ? '' : fields[4] as String, + )..raw = fields[2] == null ? 0 : fields[2] as int; + } + + @override + void write(BinaryWriter writer, Contact obj) { + writer + ..writeByte(5) + ..writeByte(0) + ..write(obj.name) + ..writeByte(1) + ..write(obj.address) + ..writeByte(2) + ..write(obj.raw) + ..writeByte(3) + ..write(obj.lastChange) + ..writeByte(4) + ..write(obj.displayName); + } + + @override + int get hashCode => typeId.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is ContactAdapter && + runtimeType == other.runtimeType && + typeId == other.typeId; +} diff --git a/lib/entities/haven_seed_store.dart b/lib/entities/haven_seed_store.dart index f899799d8..f9a362a31 100644 --- a/lib/entities/haven_seed_store.dart +++ b/lib/entities/haven_seed_store.dart @@ -1,9 +1,9 @@ import 'package:cw_core/hive_type_ids.dart'; import 'package:hive/hive.dart'; -part 'haven_seed_store.g.dart'; +part 'haven_seed_store.part.dart'; -@HiveType(typeId: HavenSeedStore.typeId) +// @HiveType(typeId: HavenSeedStore.typeId) class HavenSeedStore extends HiveObject { HavenSeedStore({required this.id, this.seed}); @@ -11,9 +11,9 @@ class HavenSeedStore extends HiveObject { static const boxName = 'HavenSeedStore'; static const boxKey = 'havenSeedStoreKey'; - @HiveField(0, defaultValue: '') + // @HiveField(0, defaultValue: '') String id; - @HiveField(2) + // @HiveField(2) String? seed; } diff --git a/lib/entities/haven_seed_store.part.dart b/lib/entities/haven_seed_store.part.dart new file mode 100644 index 000000000..ed83d226b --- /dev/null +++ b/lib/entities/haven_seed_store.part.dart @@ -0,0 +1,44 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'haven_seed_store.dart'; + +// ************************************************************************** +// TypeAdapterGenerator +// ************************************************************************** + +class HavenSeedStoreAdapter extends TypeAdapter { + @override + final int typeId = 21; + + @override + HavenSeedStore read(BinaryReader reader) { + final numOfFields = reader.readByte(); + final fields = { + for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(), + }; + return HavenSeedStore( + id: fields[0] == null ? '' : fields[0] as String, + seed: fields[2] as String?, + ); + } + + @override + void write(BinaryWriter writer, HavenSeedStore obj) { + writer + ..writeByte(2) + ..writeByte(0) + ..write(obj.id) + ..writeByte(2) + ..write(obj.seed); + } + + @override + int get hashCode => typeId.hashCode; + + @override + bool operator ==(Object other) => + identical(this, other) || + other is HavenSeedStoreAdapter && + runtimeType == other.runtimeType && + typeId == other.typeId; +} diff --git a/lib/entities/template.dart b/lib/entities/template.dart index 7cdd2c74a..302a09fcb 100644 --- a/lib/entities/template.dart +++ b/lib/entities/template.dart @@ -1,9 +1,9 @@ import 'package:cw_core/hive_type_ids.dart'; import 'package:hive/hive.dart'; -part 'template.g.dart'; +part 'template.part.dart'; -@HiveType(typeId: Template.typeId) +// @HiveType(typeId: Template.typeId) class Template extends HiveObject { Template( {required this.nameRaw, @@ -18,28 +18,28 @@ class Template extends HiveObject { static const typeId = TEMPLATE_TYPE_ID; static const boxName = 'Template'; - @HiveField(0) + // @HiveField(0) String? nameRaw; - @HiveField(1) + // @HiveField(1) String? addressRaw; - @HiveField(2) + // @HiveField(2) String? cryptoCurrencyRaw; - @HiveField(3) + // @HiveField(3) String? amountRaw; - @HiveField(4) + // @HiveField(4) String? fiatCurrencyRaw; - @HiveField(5) + // @HiveField(5) bool? isCurrencySelectedRaw; - @HiveField(6) + // @HiveField(6) String? amountFiatRaw; - @HiveField(7) + // @HiveField(7) List