2023-05-17 14:43:23 +00:00
|
|
|
import 'dart:io';
|
2024-08-26 17:06:54 +00:00
|
|
|
|
2021-12-24 12:37:24 +00:00
|
|
|
import 'package:cake_wallet/bitcoin/bitcoin.dart';
|
2023-10-12 22:50:16 +00:00
|
|
|
import 'package:cake_wallet/bitcoin_cash/bitcoin_cash.dart';
|
2024-05-06 19:55:05 +00:00
|
|
|
import 'package:cake_wallet/core/secure_storage.dart';
|
2024-08-26 17:06:54 +00:00
|
|
|
import 'package:cake_wallet/di.dart';
|
|
|
|
import 'package:cake_wallet/entities/action_list_display_mode.dart';
|
2023-08-29 16:11:51 +00:00
|
|
|
import 'package:cake_wallet/entities/auto_generate_subaddress_status.dart';
|
2023-08-04 17:55:56 +00:00
|
|
|
import 'package:cake_wallet/entities/background_tasks.dart';
|
2024-08-26 17:06:54 +00:00
|
|
|
import 'package:cake_wallet/entities/balance_display_mode.dart';
|
|
|
|
import 'package:cake_wallet/entities/cake_2fa_preset_options.dart';
|
2024-11-07 05:50:48 +00:00
|
|
|
import 'package:cake_wallet/entities/country.dart';
|
2023-03-01 21:44:15 +00:00
|
|
|
import 'package:cake_wallet/entities/exchange_api_mode.dart';
|
2024-08-26 17:06:54 +00:00
|
|
|
import 'package:cake_wallet/entities/fiat_api_mode.dart';
|
|
|
|
import 'package:cake_wallet/entities/fiat_currency.dart';
|
|
|
|
import 'package:cake_wallet/entities/language_service.dart';
|
2022-11-22 20:52:28 +00:00
|
|
|
import 'package:cake_wallet/entities/pin_code_required_duration.dart';
|
2020-09-21 11:50:26 +00:00
|
|
|
import 'package:cake_wallet/entities/preferences_key.dart';
|
2024-08-26 17:06:54 +00:00
|
|
|
import 'package:cake_wallet/entities/provider_types.dart';
|
2024-01-23 00:30:16 +00:00
|
|
|
import 'package:cake_wallet/entities/secret_store_key.dart';
|
2023-11-17 13:45:42 +00:00
|
|
|
import 'package:cake_wallet/entities/seed_phrase_length.dart';
|
2023-11-25 00:37:12 +00:00
|
|
|
import 'package:cake_wallet/entities/seed_type.dart';
|
2023-08-04 17:01:49 +00:00
|
|
|
import 'package:cake_wallet/entities/sort_balance_types.dart';
|
2023-12-13 21:58:43 +00:00
|
|
|
import 'package:cake_wallet/entities/wallet_list_order_types.dart';
|
2024-08-26 17:06:54 +00:00
|
|
|
import 'package:cake_wallet/ethereum/ethereum.dart';
|
2023-11-16 23:23:34 +00:00
|
|
|
import 'package:cake_wallet/exchange/provider/trocador_exchange_provider.dart';
|
2024-08-26 17:06:54 +00:00
|
|
|
import 'package:cake_wallet/monero/monero.dart';
|
|
|
|
import 'package:cake_wallet/polygon/polygon.dart';
|
|
|
|
import 'package:cake_wallet/themes/theme_base.dart';
|
|
|
|
import 'package:cake_wallet/themes/theme_list.dart';
|
2023-05-26 18:13:22 +00:00
|
|
|
import 'package:cake_wallet/utils/device_info.dart';
|
2024-08-26 17:06:54 +00:00
|
|
|
import 'package:cake_wallet/utils/package_info.dart';
|
|
|
|
import 'package:cake_wallet/view_model/settings/sync_mode.dart';
|
2024-02-23 18:49:21 +00:00
|
|
|
import 'package:cake_wallet/wallet_type_utils.dart';
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 19:43:17 +00:00
|
|
|
import 'package:cake_wallet/wownero/wownero.dart';
|
2024-08-26 17:06:54 +00:00
|
|
|
import 'package:cw_core/node.dart';
|
|
|
|
import 'package:cw_core/set_app_secure_native.dart';
|
2021-12-24 12:37:24 +00:00
|
|
|
import 'package:cw_core/transaction_priority.dart';
|
2024-08-26 17:06:54 +00:00
|
|
|
import 'package:cw_core/wallet_type.dart';
|
2023-05-17 14:43:23 +00:00
|
|
|
import 'package:device_info_plus/device_info_plus.dart';
|
2020-09-28 15:47:43 +00:00
|
|
|
import 'package:flutter/material.dart';
|
2020-07-06 20:09:03 +00:00
|
|
|
import 'package:hive/hive.dart';
|
|
|
|
import 'package:mobx/mobx.dart';
|
|
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
2024-01-26 22:51:21 +00:00
|
|
|
|
2020-07-06 20:09:03 +00:00
|
|
|
part 'settings_store.g.dart';
|
|
|
|
|
|
|
|
class SettingsStore = SettingsStoreBase with _$SettingsStore;
|
|
|
|
|
|
|
|
abstract class SettingsStoreBase with Store {
|
|
|
|
SettingsStoreBase(
|
2024-05-08 20:23:27 +00:00
|
|
|
{required SecureStorage secureStorage,
|
2024-01-23 00:30:16 +00:00
|
|
|
required BackgroundTasks backgroundTasks,
|
2023-08-04 17:55:56 +00:00
|
|
|
required SharedPreferences sharedPreferences,
|
2023-04-16 13:45:35 +00:00
|
|
|
required bool initialShouldShowMarketPlaceInDashboard,
|
2022-10-12 17:09:57 +00:00
|
|
|
required FiatCurrency initialFiatCurrency,
|
|
|
|
required BalanceDisplayMode initialBalanceDisplayMode,
|
|
|
|
required bool initialSaveRecipientAddress,
|
2023-08-29 16:11:51 +00:00
|
|
|
required AutoGenerateSubaddressStatus initialAutoGenerateSubaddressStatus,
|
2024-08-26 17:06:54 +00:00
|
|
|
required MoneroSeedType initialMoneroSeedType,
|
|
|
|
required BitcoinSeedType initialBitcoinSeedType,
|
CW-580: BIP39 Wallets Shared Seed Implementation: "One Seed - Multiple Wallets" (#1307)
* feat: Implement creating new BIP39 wallet with same seed used for other owned BIP39 wallets
* feat: Use same seed for BIP39 Wallets
* Update pre_existing_seeds_page.dart
* Feat: BIP39 Same seed wallet creation using the Common Parent Wallet Strategy
* feat: Finalize implementing preexisting seeds
* feat: Implement shared bip39 wallet seed for Bitcoin wallet type
* feat: Implement shared bip39 wallet seed for Litecoin wallet type
* feat: Implement shared bip39 wallet seed for BitcoinCash wallet type
* feat: Implement shared bip39 wallet seed for Nano wallet type, although disabled entry for now
* fix: Remove non bip39 seed wallet type from listing
* feat: Implement grouped and single wallets lists in wallets listing page and implement editing and saving group names
* fix: Issue where the ontap always references the leadwallet, also make shared seed wallets section header only display when the multi wallet groups list is not empty
* fix: Add translation and adjust the way the groups display
* feat: Activate bip39 as an option for creating Nano wallet types
* fix: Handle edgecase with creating new wallet with group address, handle case where only bip39 derivation type is allowed with child wallets, activate nano wallet type for shared seed
* chore: Modify the UI to fit adjustment made on figma
* fix: Disposed box triggering error in hive and causing wallet list view to display error
* fix: Switch wallet groups title in wallets list page and also fix issue with renaming groups
* Update lib/reactions/bip39_wallet_utils.dart [skip ci]
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* Update lib/router.dart [skip ci]
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* fix: Review fixes: Combine New Wallet Page Type arguments into a single model
* fix: Review fixes: Add failure guard when fetching mnemonic for selected wallet in pre-existing wallets page
* fix: Review fixes - Add loading indicator when mnemonic is being selected for wallet
* fix: Review fixes - Modify variable name to avoid clashes
* fix: Review fixes - Access WalletManager through dependency injection instead of service location
* fix: Review fixes - Add testnet to convertWalletInfoToWalletlistItem function, and adjust according where used
* fix: Review fixes - Add walletPassword to nano, tron and wownero wallets and confirm it is properly handled as it should be
* fix: Remove leadWallet, modify filtering flow to reflect this and not depend on leadWallet, and adjust privacy settings
* fix: Review Fixes - Modify restore flow to reflect current nature of bip39 as default for majority of wallet types
* fix: QA Fixes - Modify preexisting page to display wallet group names if set, and display them in incremental order if not set
* fix: Add wallet group description page and rename pre-existingseeds page to wallet group display page
* fix: Product Fix - Rename pre-existing seeds file name to wallet group display filename
* fix: Product fix - Separate multiwallets groups from single wallets and display separately
* fix - Product Fix - Add empty state for wallet group listing when creating a new wallet, adjust CTAs across buttons relating to the flow also
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-09-20 18:25:08 +00:00
|
|
|
required NanoSeedType initialNanoSeedType,
|
2023-04-20 09:59:59 +00:00
|
|
|
required bool initialAppSecure,
|
2024-11-09 19:00:56 +00:00
|
|
|
required bool initialDisableTrade,
|
2024-11-07 01:26:14 +00:00
|
|
|
required FilterListOrderType initialWalletListOrder,
|
|
|
|
required FilterListOrderType initialContactListOrder,
|
2024-03-25 18:28:45 +00:00
|
|
|
required bool initialDisableBulletin,
|
2023-12-13 21:58:43 +00:00
|
|
|
required bool initialWalletListAscending,
|
2024-11-07 01:26:14 +00:00
|
|
|
required bool initialContactListAscending,
|
2022-12-06 23:38:36 +00:00
|
|
|
required FiatApiMode initialFiatMode,
|
2022-10-12 17:09:57 +00:00
|
|
|
required bool initialAllowBiometricalAuthentication,
|
2023-05-17 14:43:23 +00:00
|
|
|
required String initialTotpSecretKey,
|
|
|
|
required bool initialUseTOTP2FA,
|
|
|
|
required int initialFailedTokenTrial,
|
2023-03-01 21:44:15 +00:00
|
|
|
required ExchangeApiMode initialExchangeStatus,
|
2022-10-12 17:09:57 +00:00
|
|
|
required ThemeBase initialTheme,
|
|
|
|
required int initialPinLength,
|
|
|
|
required String initialLanguageCode,
|
2023-08-04 17:55:56 +00:00
|
|
|
required SyncMode initialSyncMode,
|
|
|
|
required bool initialSyncAll,
|
2022-10-12 17:09:57 +00:00
|
|
|
// required String initialCurrentLocale,
|
|
|
|
required this.appVersion,
|
2023-05-17 14:43:23 +00:00
|
|
|
required this.deviceName,
|
2022-10-12 17:09:57 +00:00
|
|
|
required Map<WalletType, Node> nodes,
|
2023-10-05 01:09:07 +00:00
|
|
|
required Map<WalletType, Node> powNodes,
|
2022-10-12 17:09:57 +00:00
|
|
|
required this.shouldShowYatPopup,
|
2024-04-12 12:36:42 +00:00
|
|
|
required this.shouldShowRepWarning,
|
2022-10-12 17:09:57 +00:00
|
|
|
required this.isBitcoinBuyEnabled,
|
|
|
|
required this.actionlistDisplayMode,
|
2022-11-22 20:52:28 +00:00
|
|
|
required this.pinTimeOutDuration,
|
2023-11-17 13:45:42 +00:00
|
|
|
required this.seedPhraseLength,
|
2023-08-04 13:49:26 +00:00
|
|
|
required Cake2FAPresetsOptions initialCake2FAPresetOptions,
|
|
|
|
required bool initialShouldRequireTOTP2FAForAccessingWallet,
|
|
|
|
required bool initialShouldRequireTOTP2FAForSendsToContact,
|
|
|
|
required bool initialShouldRequireTOTP2FAForSendsToNonContact,
|
|
|
|
required bool initialShouldRequireTOTP2FAForSendsToInternalWallets,
|
|
|
|
required bool initialShouldRequireTOTP2FAForExchangesToInternalWallets,
|
2023-11-02 18:17:52 +00:00
|
|
|
required bool initialShouldRequireTOTP2FAForExchangesToExternalWallets,
|
2023-08-04 13:49:26 +00:00
|
|
|
required bool initialShouldRequireTOTP2FAForAddingContacts,
|
|
|
|
required bool initialShouldRequireTOTP2FAForCreatingNewWallets,
|
|
|
|
required bool initialShouldRequireTOTP2FAForAllSecurityAndBackupSettings,
|
2023-08-04 17:01:49 +00:00
|
|
|
required this.sortBalanceBy,
|
|
|
|
required this.pinNativeTokenAtTop,
|
|
|
|
required this.useEtherscan,
|
2023-12-02 02:26:43 +00:00
|
|
|
required this.usePolygonScan,
|
2024-05-08 14:26:57 +00:00
|
|
|
required this.useTronGrid,
|
2024-08-26 17:07:25 +00:00
|
|
|
required this.useMempoolFeeAPI,
|
2023-11-17 18:35:46 +00:00
|
|
|
required this.defaultNanoRep,
|
|
|
|
required this.defaultBananoRep,
|
2023-11-03 19:23:11 +00:00
|
|
|
required this.lookupsTwitter,
|
|
|
|
required this.lookupsMastodon,
|
|
|
|
required this.lookupsYatService,
|
|
|
|
required this.lookupsUnstoppableDomains,
|
|
|
|
required this.lookupsOpenAlias,
|
|
|
|
required this.lookupsENS,
|
2024-04-08 14:54:58 +00:00
|
|
|
required this.customBitcoinFeeRate,
|
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base
* feat: allow scanning elect-rs using get_tweaks
* feat: scanning and adding addresses working with getTweaks, add btc SP address type
* chore: pubspec.lock
* chore: pubspec.lock
* fix: scan when switching, fix multiple unspents in same tx
* fix: initial scan
* fix: initial scan
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* fix: nodes & build
* fix: send all with multiple outs
* refactor: unchanged file
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* fix: scan fixes, add date, allow sending while scanning
* feat: sync fixes, sp settings
* feat: fix resyncing
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* fix: double balance
* feat: node domain
* fix: menu name
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* fix: status toggle
* minor enhancement
* Monero.com fixes
* update sp_scanner to include windows and linux
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 14:43:48 +00:00
|
|
|
required this.silentPaymentsCardDisplay,
|
|
|
|
required this.silentPaymentsAlwaysScan,
|
litecoin mweb support (#1455)
* Fix stub creation
* Generate MWEB addresses
* Fix mweb address derivation
* Use camel-case
* Show utxos in tx list
* A few fixes
* Add spent processing
* Update balance
* Balance fixes
* Update address records
* Get rid of debounce hack
* Get sending up to the confirmation box
* Fee estimation
* Stop the daemon if plugin is unloaded
* Normal fee for non-mweb txns
* Fix fee estimation for send all
* Don't hash mweb addresses
* More fee fixes
* Broadcast mweb
* Remove test files
* One more
* Confirm sent txns
* Couple of fixes
* Resign inputs after mweb create
* Some more fixes
* Update balance after sending
* Correctly update address records
* Update confs
* [skip ci] updates
* [skip ci] add dep overrides
* working
* small fix
* merge fixes [skip ci]
* merge fixes [skip ci]
* [skip ci] minor fixes
* silent payment fixes [skip ci]
* updates [skip ci]
* save [skip ci]
* use mwebutxos box
* [skip ci] lots of fixes, still testing
* add rescan from height feature and test workflow build
* install go
* use sudo
* correct package name
* move building mweb higher for faster testing
* install fixes
* install later version of go
* go fixes
* testing
* testing
* testing
* testing
* testing
* should workgit add .github/workflows/pr_test_build.yml
* ???
* ??? pt.2
* should work, for real this time
* fix tx history not persisting + update build_mwebd script
* updates
* fix some rescan and address gen issues
* save [skip ci]
* fix unconfirmed balance not updating when receiving
* unspent coins / coin control fixes
* coin control fixes
* address balance and txCount fixes, try/catch electrum call
* fix txCount for addresses
* save [skip ci]
* potential fixes
* minor fix
* minor fix - 2
* sync status fixes, potential fix for background state issue
* workflow and script updates
* updates
* expirimental optimization
* [skip ci] minor enhancements
* workflow and script fixes
* workflow minor cleanup [skip ci]
* minor code cleanup & friendlier error message on failed tx's
* balance when sending fix
* experimental
* more experiments
* save
* updates
* coin control edge cases
* remove neutrino.db if no litecoin wallets left after deleting
* update translations
* updates
* minor fix
* [skip ci] update translations + minor fixes
* state fixes
* configure fix
* ui updates
* translation fixes
* [skip ci] addressbook updates
* fix popup
* fix popup2
* fix litecoin address book
* fix ios mwebd build script
* fix for building monero.com
* minor fix
* uncomment fix for state issues
* potential mweb sync fix (ios)
* remove print [skip ci]
* electrum stream potential fix
* fix ios build issues [skip ci]
* connection reliability updates, update kotlin code to match swift code, minor electrum error handling
* dep fixes
* minor fix
* more merge fixes
* bitcoin_flutter removal fixes
* [skip ci] fix always scan setting, swift updates
* updates
* fixes
* small fix
* small fix
* fix
* dart:convert != package:convert
* change address fixes
* update bitcoin_base to fix mweb address program checking
* fix ios xcode project [skip ci]
* updates
* more fixes
* more fixes
* ensure we don't initialize mweb until we really have to
* fix regression
* improve mweb reliability
* [skip ci] wip adress generation
* wip
* wip
* [skip ci] wip
* updates [skip ci]
* ios fixes
* fix workflows + ios fix
* test old mweb version
* update go version and mwebd hash
* review updates pt.1
* Update cw_bitcoin/lib/litecoin_wallet.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* remove non-litecoin address types regex [skip ci]
* more minor fixes
* remove duplicate [skip ci]
* Update lib/store/settings_store.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* script updates, swap params on createLitecoinWalletService
* topup fix
* [skip ci] wip
* [skip ci] testing
* [skip ci] file didn't get saved
* more address generation reliability fixes
* [skip ci] minor
* minor code cleanup
* hopefully prevents send issue
* [skip ci] wip address changes
* [skip ci] save
* save mweb addresses, auto-restart sync process if it gets stuck [skip ci]
* address generation issues mostly resolved
* more performance fixes
* [skip ci]
* this should maybe be refactored, pt.1
* separate mweb balances, pt.2
* [skip ci] save
* add translations [skip ci]
* fix sending with mweb amounts
* works for simple mweb-mweb case, further testing needed
* found an edge case
* [skip ci] make failed broadcast error message less serious
* minor
* capture all grpc errors and much better error handling overall
* [skip ci] minor
* prevent transactions with < 6 confirmations from being used + hide mweb balances if mweb is off
* fix
* merge fixes pt.1 [skip ci]
* fix mweb tags
* fix
* [skip ci] fix tag spacing
* fix transaction history not showing up
* fix mweb crash on non-fully deleted mweb cache, sync status ETA, other connection fixes
* [skip ci] minor code cleanup
* [skip ci] minor code cleanup
* additional cleanup
* silent payments eta fixes and updates
* revert sync eta changes into separate pr
* [skip ci] minor
* [skip ci] minor
* revert sync status title
* review fixes, additional cleanup
* [skip ci] minor
* [skip ci] minor
* [skip ci] minor
* trigger build
* review fixes, pt.2
* check if still processing utxos before updating sync status [skip ci]
* [skip ci] minor
* balance fix
* minor
* minor
* [skip ci] minor
* [skip ci] fix test net btc
* don't use mwebd for non-mweb tx's
* [skip ci] minor cleanup
* don't show all 1000+ mweb addresses on receive page
* minor cleanup + additional logging
---------
Co-authored-by: Hector Chu <hectorchu@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
2024-09-28 02:22:25 +00:00
|
|
|
required this.mwebAlwaysScan,
|
|
|
|
required this.mwebCardDisplay,
|
|
|
|
required this.mwebEnabled,
|
|
|
|
required this.hasEnabledMwebBefore,
|
2024-11-07 02:57:36 +00:00
|
|
|
required this.mwebNodeUri,
|
2022-10-12 17:09:57 +00:00
|
|
|
TransactionPriority? initialBitcoinTransactionPriority,
|
2022-12-08 15:23:17 +00:00
|
|
|
TransactionPriority? initialMoneroTransactionPriority,
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 19:43:17 +00:00
|
|
|
TransactionPriority? initialWowneroTransactionPriority,
|
2022-12-08 15:23:17 +00:00
|
|
|
TransactionPriority? initialHavenTransactionPriority,
|
2023-08-04 17:01:49 +00:00
|
|
|
TransactionPriority? initialLitecoinTransactionPriority,
|
2023-10-12 22:50:16 +00:00
|
|
|
TransactionPriority? initialEthereumTransactionPriority,
|
2023-12-02 02:26:43 +00:00
|
|
|
TransactionPriority? initialPolygonTransactionPriority,
|
2024-11-07 05:50:48 +00:00
|
|
|
TransactionPriority? initialBitcoinCashTransactionPriority,
|
|
|
|
Country? initialCakePayCountry})
|
2023-05-17 14:43:23 +00:00
|
|
|
: nodes = ObservableMap<WalletType, Node>.of(nodes),
|
2023-10-05 01:09:07 +00:00
|
|
|
powNodes = ObservableMap<WalletType, Node>.of(powNodes),
|
2024-01-23 00:30:16 +00:00
|
|
|
_secureStorage = secureStorage,
|
2023-05-17 14:43:23 +00:00
|
|
|
_sharedPreferences = sharedPreferences,
|
2023-08-04 17:55:56 +00:00
|
|
|
_backgroundTasks = backgroundTasks,
|
2023-05-17 14:43:23 +00:00
|
|
|
fiatCurrency = initialFiatCurrency,
|
|
|
|
balanceDisplayMode = initialBalanceDisplayMode,
|
|
|
|
shouldSaveRecipientAddress = initialSaveRecipientAddress,
|
2023-08-29 16:11:51 +00:00
|
|
|
autoGenerateSubaddressStatus = initialAutoGenerateSubaddressStatus,
|
2023-11-25 00:37:12 +00:00
|
|
|
moneroSeedType = initialMoneroSeedType,
|
2024-08-26 17:06:54 +00:00
|
|
|
bitcoinSeedType = initialBitcoinSeedType,
|
CW-580: BIP39 Wallets Shared Seed Implementation: "One Seed - Multiple Wallets" (#1307)
* feat: Implement creating new BIP39 wallet with same seed used for other owned BIP39 wallets
* feat: Use same seed for BIP39 Wallets
* Update pre_existing_seeds_page.dart
* Feat: BIP39 Same seed wallet creation using the Common Parent Wallet Strategy
* feat: Finalize implementing preexisting seeds
* feat: Implement shared bip39 wallet seed for Bitcoin wallet type
* feat: Implement shared bip39 wallet seed for Litecoin wallet type
* feat: Implement shared bip39 wallet seed for BitcoinCash wallet type
* feat: Implement shared bip39 wallet seed for Nano wallet type, although disabled entry for now
* fix: Remove non bip39 seed wallet type from listing
* feat: Implement grouped and single wallets lists in wallets listing page and implement editing and saving group names
* fix: Issue where the ontap always references the leadwallet, also make shared seed wallets section header only display when the multi wallet groups list is not empty
* fix: Add translation and adjust the way the groups display
* feat: Activate bip39 as an option for creating Nano wallet types
* fix: Handle edgecase with creating new wallet with group address, handle case where only bip39 derivation type is allowed with child wallets, activate nano wallet type for shared seed
* chore: Modify the UI to fit adjustment made on figma
* fix: Disposed box triggering error in hive and causing wallet list view to display error
* fix: Switch wallet groups title in wallets list page and also fix issue with renaming groups
* Update lib/reactions/bip39_wallet_utils.dart [skip ci]
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* Update lib/router.dart [skip ci]
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* fix: Review fixes: Combine New Wallet Page Type arguments into a single model
* fix: Review fixes: Add failure guard when fetching mnemonic for selected wallet in pre-existing wallets page
* fix: Review fixes - Add loading indicator when mnemonic is being selected for wallet
* fix: Review fixes - Modify variable name to avoid clashes
* fix: Review fixes - Access WalletManager through dependency injection instead of service location
* fix: Review fixes - Add testnet to convertWalletInfoToWalletlistItem function, and adjust according where used
* fix: Review fixes - Add walletPassword to nano, tron and wownero wallets and confirm it is properly handled as it should be
* fix: Remove leadWallet, modify filtering flow to reflect this and not depend on leadWallet, and adjust privacy settings
* fix: Review Fixes - Modify restore flow to reflect current nature of bip39 as default for majority of wallet types
* fix: QA Fixes - Modify preexisting page to display wallet group names if set, and display them in incremental order if not set
* fix: Add wallet group description page and rename pre-existingseeds page to wallet group display page
* fix: Product Fix - Rename pre-existing seeds file name to wallet group display filename
* fix: Product fix - Separate multiwallets groups from single wallets and display separately
* fix - Product Fix - Add empty state for wallet group listing when creating a new wallet, adjust CTAs across buttons relating to the flow also
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-09-20 18:25:08 +00:00
|
|
|
nanoSeedType = initialNanoSeedType,
|
2023-05-17 14:43:23 +00:00
|
|
|
fiatApiMode = initialFiatMode,
|
|
|
|
allowBiometricalAuthentication = initialAllowBiometricalAuthentication,
|
2023-08-04 13:49:26 +00:00
|
|
|
selectedCake2FAPreset = initialCake2FAPresetOptions,
|
2023-05-17 14:43:23 +00:00
|
|
|
totpSecretKey = initialTotpSecretKey,
|
|
|
|
useTOTP2FA = initialUseTOTP2FA,
|
|
|
|
numberOfFailedTokenTrials = initialFailedTokenTrial,
|
2023-04-20 09:59:59 +00:00
|
|
|
isAppSecure = initialAppSecure,
|
2024-11-09 19:00:56 +00:00
|
|
|
disableTradeOption = initialDisableTrade,
|
2024-03-25 18:28:45 +00:00
|
|
|
disableBulletin = initialDisableBulletin,
|
2023-12-13 21:58:43 +00:00
|
|
|
walletListOrder = initialWalletListOrder,
|
2024-11-07 01:26:14 +00:00
|
|
|
contactListOrder = initialContactListOrder,
|
2023-12-13 21:58:43 +00:00
|
|
|
walletListAscending = initialWalletListAscending,
|
2024-11-07 01:26:14 +00:00
|
|
|
contactListAscending = initialContactListAscending,
|
2023-04-16 13:45:35 +00:00
|
|
|
shouldShowMarketPlaceInDashboard = initialShouldShowMarketPlaceInDashboard,
|
2023-05-17 14:43:23 +00:00
|
|
|
exchangeStatus = initialExchangeStatus,
|
|
|
|
currentTheme = initialTheme,
|
|
|
|
pinCodeLength = initialPinLength,
|
|
|
|
languageCode = initialLanguageCode,
|
2023-08-04 13:49:26 +00:00
|
|
|
shouldRequireTOTP2FAForAccessingWallet = initialShouldRequireTOTP2FAForAccessingWallet,
|
|
|
|
shouldRequireTOTP2FAForSendsToContact = initialShouldRequireTOTP2FAForSendsToContact,
|
|
|
|
shouldRequireTOTP2FAForSendsToNonContact = initialShouldRequireTOTP2FAForSendsToNonContact,
|
|
|
|
shouldRequireTOTP2FAForSendsToInternalWallets =
|
|
|
|
initialShouldRequireTOTP2FAForSendsToInternalWallets,
|
|
|
|
shouldRequireTOTP2FAForExchangesToInternalWallets =
|
|
|
|
initialShouldRequireTOTP2FAForExchangesToInternalWallets,
|
2023-11-02 18:17:52 +00:00
|
|
|
shouldRequireTOTP2FAForExchangesToExternalWallets =
|
|
|
|
initialShouldRequireTOTP2FAForExchangesToExternalWallets,
|
2023-08-04 13:49:26 +00:00
|
|
|
shouldRequireTOTP2FAForAddingContacts = initialShouldRequireTOTP2FAForAddingContacts,
|
|
|
|
shouldRequireTOTP2FAForCreatingNewWallets =
|
|
|
|
initialShouldRequireTOTP2FAForCreatingNewWallets,
|
|
|
|
shouldRequireTOTP2FAForAllSecurityAndBackupSettings =
|
|
|
|
initialShouldRequireTOTP2FAForAllSecurityAndBackupSettings,
|
2023-08-04 17:55:56 +00:00
|
|
|
currentSyncMode = initialSyncMode,
|
|
|
|
currentSyncAll = initialSyncAll,
|
2024-11-09 19:00:56 +00:00
|
|
|
priority = ObservableMap<WalletType, TransactionPriority>() {
|
2022-10-12 17:09:57 +00:00
|
|
|
//this.nodes = ObservableMap<WalletType, Node>.of(nodes);
|
|
|
|
|
|
|
|
if (initialMoneroTransactionPriority != null) {
|
2023-05-17 14:43:23 +00:00
|
|
|
priority[WalletType.monero] = initialMoneroTransactionPriority;
|
2022-10-12 17:09:57 +00:00
|
|
|
}
|
|
|
|
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 19:43:17 +00:00
|
|
|
if (initialWowneroTransactionPriority != null) {
|
|
|
|
priority[WalletType.wownero] = initialWowneroTransactionPriority;
|
|
|
|
}
|
|
|
|
|
2022-10-12 17:09:57 +00:00
|
|
|
if (initialBitcoinTransactionPriority != null) {
|
2023-05-17 14:43:23 +00:00
|
|
|
priority[WalletType.bitcoin] = initialBitcoinTransactionPriority;
|
2022-10-12 17:09:57 +00:00
|
|
|
}
|
2020-09-10 14:51:59 +00:00
|
|
|
|
2022-12-08 15:23:17 +00:00
|
|
|
if (initialHavenTransactionPriority != null) {
|
2023-05-17 14:43:23 +00:00
|
|
|
priority[WalletType.haven] = initialHavenTransactionPriority;
|
2022-12-08 15:23:17 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (initialLitecoinTransactionPriority != null) {
|
2023-05-17 14:43:23 +00:00
|
|
|
priority[WalletType.litecoin] = initialLitecoinTransactionPriority;
|
2022-12-08 15:23:17 +00:00
|
|
|
}
|
|
|
|
|
2023-08-04 17:01:49 +00:00
|
|
|
if (initialEthereumTransactionPriority != null) {
|
|
|
|
priority[WalletType.ethereum] = initialEthereumTransactionPriority;
|
|
|
|
}
|
|
|
|
|
2023-12-02 02:26:43 +00:00
|
|
|
if (initialPolygonTransactionPriority != null) {
|
|
|
|
priority[WalletType.polygon] = initialPolygonTransactionPriority;
|
|
|
|
}
|
|
|
|
|
2023-10-12 22:50:16 +00:00
|
|
|
if (initialBitcoinCashTransactionPriority != null) {
|
|
|
|
priority[WalletType.bitcoinCash] = initialBitcoinCashTransactionPriority;
|
|
|
|
}
|
|
|
|
|
2024-11-07 05:50:48 +00:00
|
|
|
if (initialCakePayCountry != null) {
|
|
|
|
selectedCakePayCountry = initialCakePayCountry;
|
|
|
|
}
|
|
|
|
|
2023-11-16 23:23:34 +00:00
|
|
|
initializeTrocadorProviderStates();
|
|
|
|
|
2020-09-28 19:02:30 +00:00
|
|
|
reaction(
|
|
|
|
(_) => fiatCurrency,
|
|
|
|
(FiatCurrency fiatCurrency) => sharedPreferences.setString(
|
|
|
|
PreferencesKey.currentFiatCurrencyKey, fiatCurrency.serialize()));
|
|
|
|
|
2024-11-07 05:50:48 +00:00
|
|
|
reaction(
|
|
|
|
(_) => selectedCakePayCountry,
|
|
|
|
(Country? country) {
|
|
|
|
if (country != null) {
|
|
|
|
sharedPreferences.setString(
|
|
|
|
PreferencesKey.currentCakePayCountry, country.raw);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
2021-10-04 13:03:35 +00:00
|
|
|
reaction(
|
|
|
|
(_) => shouldShowYatPopup,
|
2023-05-17 14:43:23 +00:00
|
|
|
(bool shouldShowYatPopup) =>
|
|
|
|
sharedPreferences.setBool(PreferencesKey.shouldShowYatPopup, shouldShowYatPopup));
|
2021-10-04 13:03:35 +00:00
|
|
|
|
2024-04-12 12:36:42 +00:00
|
|
|
reaction((_) => shouldShowRepWarning,
|
|
|
|
(bool val) => sharedPreferences.setBool(PreferencesKey.shouldShowRepWarning, val));
|
|
|
|
|
2021-01-27 13:51:51 +00:00
|
|
|
priority.observe((change) {
|
2022-12-08 15:23:17 +00:00
|
|
|
final String? key;
|
|
|
|
switch (change.key) {
|
|
|
|
case WalletType.monero:
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 19:43:17 +00:00
|
|
|
case WalletType.wownero:
|
2022-12-08 15:23:17 +00:00
|
|
|
key = PreferencesKey.moneroTransactionPriority;
|
|
|
|
break;
|
|
|
|
case WalletType.bitcoin:
|
|
|
|
key = PreferencesKey.bitcoinTransactionPriority;
|
|
|
|
break;
|
|
|
|
case WalletType.litecoin:
|
|
|
|
key = PreferencesKey.litecoinTransactionPriority;
|
|
|
|
break;
|
|
|
|
case WalletType.haven:
|
|
|
|
key = PreferencesKey.havenTransactionPriority;
|
|
|
|
break;
|
2023-08-04 17:01:49 +00:00
|
|
|
case WalletType.ethereum:
|
|
|
|
key = PreferencesKey.ethereumTransactionPriority;
|
|
|
|
break;
|
2023-10-12 22:50:16 +00:00
|
|
|
case WalletType.bitcoinCash:
|
|
|
|
key = PreferencesKey.bitcoinCashTransactionPriority;
|
|
|
|
break;
|
2023-12-02 02:26:43 +00:00
|
|
|
case WalletType.polygon:
|
|
|
|
key = PreferencesKey.polygonTransactionPriority;
|
|
|
|
break;
|
2022-12-08 15:23:17 +00:00
|
|
|
default:
|
|
|
|
key = null;
|
|
|
|
}
|
2021-01-27 13:51:51 +00:00
|
|
|
|
2022-12-08 15:23:17 +00:00
|
|
|
if (change.newValue != null && key != null) {
|
2022-10-12 17:09:57 +00:00
|
|
|
sharedPreferences.setInt(key, change.newValue!.serialize());
|
|
|
|
}
|
2021-01-27 13:51:51 +00:00
|
|
|
});
|
2020-09-28 19:02:30 +00:00
|
|
|
|
|
|
|
reaction(
|
|
|
|
(_) => shouldSaveRecipientAddress,
|
|
|
|
(bool shouldSaveRecipientAddress) => sharedPreferences.setBool(
|
2023-05-17 14:43:23 +00:00
|
|
|
PreferencesKey.shouldSaveRecipientAddressKey, shouldSaveRecipientAddress));
|
2020-09-28 19:02:30 +00:00
|
|
|
|
2023-05-26 18:13:22 +00:00
|
|
|
if (DeviceInfo.instance.isMobile) {
|
|
|
|
setIsAppSecureNative(isAppSecure);
|
2023-05-17 15:34:41 +00:00
|
|
|
|
2023-05-26 18:13:22 +00:00
|
|
|
reaction((_) => isAppSecure, (bool isAppSecure) {
|
|
|
|
sharedPreferences.setBool(PreferencesKey.isAppSecureKey, isAppSecure);
|
2023-04-20 09:59:59 +00:00
|
|
|
setIsAppSecureNative(isAppSecure);
|
2023-05-26 18:13:22 +00:00
|
|
|
});
|
|
|
|
}
|
2023-04-20 09:59:59 +00:00
|
|
|
|
2024-11-09 19:00:56 +00:00
|
|
|
reaction((_) => disableTradeOption,
|
|
|
|
(bool disableTradeOption) => sharedPreferences.setBool(PreferencesKey.disableTradeOption, disableTradeOption));
|
|
|
|
|
2024-03-25 18:28:45 +00:00
|
|
|
reaction(
|
|
|
|
(_) => disableBulletin,
|
|
|
|
(bool disableBulletin) =>
|
|
|
|
sharedPreferences.setBool(PreferencesKey.disableBulletinKey, disableBulletin));
|
|
|
|
|
2023-12-13 21:58:43 +00:00
|
|
|
reaction(
|
|
|
|
(_) => walletListOrder,
|
2024-11-07 01:26:14 +00:00
|
|
|
(FilterListOrderType walletListOrder) =>
|
2023-12-13 21:58:43 +00:00
|
|
|
sharedPreferences.setInt(PreferencesKey.walletListOrder, walletListOrder.index));
|
|
|
|
|
2024-11-07 01:26:14 +00:00
|
|
|
reaction(
|
|
|
|
(_) => contactListOrder,
|
|
|
|
(FilterListOrderType contactListOrder) =>
|
|
|
|
sharedPreferences.setInt(PreferencesKey.contactListOrder, contactListOrder.index));
|
|
|
|
|
2023-12-13 21:58:43 +00:00
|
|
|
reaction(
|
|
|
|
(_) => walletListAscending,
|
|
|
|
(bool walletListAscending) =>
|
|
|
|
sharedPreferences.setBool(PreferencesKey.walletListAscending, walletListAscending));
|
|
|
|
|
2024-11-07 01:26:14 +00:00
|
|
|
reaction(
|
|
|
|
(_) => contactListAscending,
|
|
|
|
(bool contactListAscending) =>
|
|
|
|
sharedPreferences.setBool(PreferencesKey.contactListAscending, contactListAscending));
|
|
|
|
|
2023-08-29 16:11:51 +00:00
|
|
|
reaction(
|
|
|
|
(_) => autoGenerateSubaddressStatus,
|
|
|
|
(AutoGenerateSubaddressStatus autoGenerateSubaddressStatus) => sharedPreferences.setInt(
|
|
|
|
PreferencesKey.autoGenerateSubaddressStatusKey, autoGenerateSubaddressStatus.value));
|
|
|
|
|
2023-11-25 00:37:12 +00:00
|
|
|
reaction(
|
|
|
|
(_) => moneroSeedType,
|
2024-08-26 17:06:54 +00:00
|
|
|
(MoneroSeedType moneroSeedType) =>
|
2023-12-02 02:26:43 +00:00
|
|
|
sharedPreferences.setInt(PreferencesKey.moneroSeedType, moneroSeedType.raw));
|
2023-11-25 00:37:12 +00:00
|
|
|
|
2024-08-26 17:06:54 +00:00
|
|
|
reaction(
|
|
|
|
(_) => bitcoinSeedType,
|
2024-11-07 02:57:36 +00:00
|
|
|
(BitcoinSeedType bitcoinSeedType) =>
|
|
|
|
sharedPreferences.setInt(PreferencesKey.bitcoinSeedType, bitcoinSeedType.raw));
|
2024-08-26 17:06:54 +00:00
|
|
|
|
CW-580: BIP39 Wallets Shared Seed Implementation: "One Seed - Multiple Wallets" (#1307)
* feat: Implement creating new BIP39 wallet with same seed used for other owned BIP39 wallets
* feat: Use same seed for BIP39 Wallets
* Update pre_existing_seeds_page.dart
* Feat: BIP39 Same seed wallet creation using the Common Parent Wallet Strategy
* feat: Finalize implementing preexisting seeds
* feat: Implement shared bip39 wallet seed for Bitcoin wallet type
* feat: Implement shared bip39 wallet seed for Litecoin wallet type
* feat: Implement shared bip39 wallet seed for BitcoinCash wallet type
* feat: Implement shared bip39 wallet seed for Nano wallet type, although disabled entry for now
* fix: Remove non bip39 seed wallet type from listing
* feat: Implement grouped and single wallets lists in wallets listing page and implement editing and saving group names
* fix: Issue where the ontap always references the leadwallet, also make shared seed wallets section header only display when the multi wallet groups list is not empty
* fix: Add translation and adjust the way the groups display
* feat: Activate bip39 as an option for creating Nano wallet types
* fix: Handle edgecase with creating new wallet with group address, handle case where only bip39 derivation type is allowed with child wallets, activate nano wallet type for shared seed
* chore: Modify the UI to fit adjustment made on figma
* fix: Disposed box triggering error in hive and causing wallet list view to display error
* fix: Switch wallet groups title in wallets list page and also fix issue with renaming groups
* Update lib/reactions/bip39_wallet_utils.dart [skip ci]
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* Update lib/router.dart [skip ci]
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* fix: Review fixes: Combine New Wallet Page Type arguments into a single model
* fix: Review fixes: Add failure guard when fetching mnemonic for selected wallet in pre-existing wallets page
* fix: Review fixes - Add loading indicator when mnemonic is being selected for wallet
* fix: Review fixes - Modify variable name to avoid clashes
* fix: Review fixes - Access WalletManager through dependency injection instead of service location
* fix: Review fixes - Add testnet to convertWalletInfoToWalletlistItem function, and adjust according where used
* fix: Review fixes - Add walletPassword to nano, tron and wownero wallets and confirm it is properly handled as it should be
* fix: Remove leadWallet, modify filtering flow to reflect this and not depend on leadWallet, and adjust privacy settings
* fix: Review Fixes - Modify restore flow to reflect current nature of bip39 as default for majority of wallet types
* fix: QA Fixes - Modify preexisting page to display wallet group names if set, and display them in incremental order if not set
* fix: Add wallet group description page and rename pre-existingseeds page to wallet group display page
* fix: Product Fix - Rename pre-existing seeds file name to wallet group display filename
* fix: Product fix - Separate multiwallets groups from single wallets and display separately
* fix - Product Fix - Add empty state for wallet group listing when creating a new wallet, adjust CTAs across buttons relating to the flow also
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-09-20 18:25:08 +00:00
|
|
|
reaction(
|
|
|
|
(_) => nanoSeedType,
|
|
|
|
(NanoSeedType nanoSeedType) =>
|
|
|
|
sharedPreferences.setInt(PreferencesKey.nanoSeedType, nanoSeedType.raw));
|
|
|
|
|
2022-11-04 11:58:04 +00:00
|
|
|
reaction(
|
2023-05-17 14:43:23 +00:00
|
|
|
(_) => fiatApiMode,
|
|
|
|
(FiatApiMode mode) =>
|
|
|
|
sharedPreferences.setInt(PreferencesKey.currentFiatApiModeKey, mode.serialize()));
|
2022-11-04 11:58:04 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
reaction((_) => currentTheme,
|
|
|
|
(ThemeBase theme) => sharedPreferences.setInt(PreferencesKey.currentTheme, theme.raw));
|
2020-09-28 19:02:30 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
reaction(
|
|
|
|
(_) => numberOfFailedTokenTrials,
|
|
|
|
(int failedTokenTrail) =>
|
|
|
|
sharedPreferences.setInt(PreferencesKey.failedTotpTokenTrials, failedTokenTrail));
|
|
|
|
|
2023-04-16 13:45:35 +00:00
|
|
|
reaction(
|
|
|
|
(_) => shouldShowMarketPlaceInDashboard,
|
|
|
|
(bool value) =>
|
|
|
|
sharedPreferences.setBool(PreferencesKey.shouldShowMarketPlaceInDashboard, value));
|
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
reaction((_) => pinCodeLength,
|
|
|
|
(int pinLength) => sharedPreferences.setInt(PreferencesKey.currentPinLength, pinLength));
|
2020-09-26 19:17:31 +00:00
|
|
|
|
2020-09-28 19:02:30 +00:00
|
|
|
reaction(
|
|
|
|
(_) => languageCode,
|
2023-05-17 14:43:23 +00:00
|
|
|
(String languageCode) =>
|
|
|
|
sharedPreferences.setString(PreferencesKey.currentLanguageCode, languageCode));
|
2020-12-15 16:29:10 +00:00
|
|
|
|
2023-11-17 13:45:42 +00:00
|
|
|
reaction(
|
2023-12-02 02:26:43 +00:00
|
|
|
(_) => seedPhraseLength,
|
|
|
|
(SeedPhraseLength seedPhraseWordCount) => sharedPreferences.setInt(
|
|
|
|
PreferencesKey.currentSeedPhraseLength, seedPhraseWordCount.value));
|
2023-11-17 13:45:42 +00:00
|
|
|
|
2021-01-15 17:41:30 +00:00
|
|
|
reaction(
|
|
|
|
(_) => balanceDisplayMode,
|
|
|
|
(BalanceDisplayMode mode) => sharedPreferences.setInt(
|
|
|
|
PreferencesKey.currentBalanceDisplayModeKey, mode.serialize()));
|
2020-12-18 19:42:00 +00:00
|
|
|
|
2023-08-04 17:55:56 +00:00
|
|
|
reaction((_) => currentSyncMode, (SyncMode syncMode) {
|
|
|
|
sharedPreferences.setInt(PreferencesKey.syncModeKey, syncMode.type.index);
|
|
|
|
|
|
|
|
_backgroundTasks.registerSyncTask(changeExisting: true);
|
|
|
|
});
|
|
|
|
|
|
|
|
reaction((_) => currentSyncAll, (bool syncAll) {
|
|
|
|
sharedPreferences.setBool(PreferencesKey.syncAllKey, syncAll);
|
|
|
|
|
|
|
|
_backgroundTasks.registerSyncTask(changeExisting: true);
|
|
|
|
});
|
|
|
|
|
2022-12-08 19:14:42 +00:00
|
|
|
reaction(
|
2023-05-17 14:43:23 +00:00
|
|
|
(_) => exchangeStatus,
|
|
|
|
(ExchangeApiMode mode) =>
|
|
|
|
sharedPreferences.setInt(PreferencesKey.exchangeStatusKey, mode.serialize()));
|
|
|
|
|
2023-08-04 17:01:49 +00:00
|
|
|
reaction(
|
|
|
|
(_) => sortBalanceBy,
|
|
|
|
(SortBalanceBy sortBalanceBy) =>
|
|
|
|
_sharedPreferences.setInt(PreferencesKey.sortBalanceBy, sortBalanceBy.index));
|
|
|
|
|
|
|
|
reaction(
|
|
|
|
(_) => pinNativeTokenAtTop,
|
|
|
|
(bool pinNativeTokenAtTop) =>
|
|
|
|
_sharedPreferences.setBool(PreferencesKey.pinNativeTokenAtTop, pinNativeTokenAtTop));
|
|
|
|
|
|
|
|
reaction(
|
|
|
|
(_) => useEtherscan,
|
|
|
|
(bool useEtherscan) =>
|
|
|
|
_sharedPreferences.setBool(PreferencesKey.useEtherscan, useEtherscan));
|
|
|
|
|
2023-12-02 02:26:43 +00:00
|
|
|
reaction(
|
|
|
|
(_) => usePolygonScan,
|
|
|
|
(bool usePolygonScan) =>
|
|
|
|
_sharedPreferences.setBool(PreferencesKey.usePolygonScan, usePolygonScan));
|
|
|
|
|
2024-05-08 20:23:27 +00:00
|
|
|
reaction((_) => useTronGrid,
|
|
|
|
(bool useTronGrid) => _sharedPreferences.setBool(PreferencesKey.useTronGrid, useTronGrid));
|
2024-05-08 14:26:57 +00:00
|
|
|
|
2024-11-07 02:57:36 +00:00
|
|
|
reaction(
|
|
|
|
(_) => useMempoolFeeAPI,
|
|
|
|
(bool useMempoolFeeAPI) =>
|
|
|
|
_sharedPreferences.setBool(PreferencesKey.useMempoolFeeAPI, useMempoolFeeAPI));
|
2024-08-26 17:07:25 +00:00
|
|
|
|
2023-11-17 18:35:46 +00:00
|
|
|
reaction((_) => defaultNanoRep,
|
|
|
|
(String nanoRep) => _sharedPreferences.setString(PreferencesKey.defaultNanoRep, nanoRep));
|
|
|
|
|
|
|
|
reaction(
|
|
|
|
(_) => defaultBananoRep,
|
|
|
|
(String bananoRep) =>
|
|
|
|
_sharedPreferences.setString(PreferencesKey.defaultBananoRep, bananoRep));
|
2023-11-03 19:23:11 +00:00
|
|
|
reaction(
|
2023-12-02 02:26:43 +00:00
|
|
|
(_) => lookupsTwitter,
|
|
|
|
(bool looksUpTwitter) =>
|
2023-11-03 19:23:11 +00:00
|
|
|
_sharedPreferences.setBool(PreferencesKey.lookupsTwitter, looksUpTwitter));
|
|
|
|
|
|
|
|
reaction(
|
2023-12-02 02:26:43 +00:00
|
|
|
(_) => lookupsMastodon,
|
|
|
|
(bool looksUpMastodon) =>
|
2023-11-03 19:23:11 +00:00
|
|
|
_sharedPreferences.setBool(PreferencesKey.lookupsMastodon, looksUpMastodon));
|
|
|
|
|
|
|
|
reaction(
|
2023-12-02 02:26:43 +00:00
|
|
|
(_) => lookupsYatService,
|
|
|
|
(bool looksUpYatService) =>
|
2023-11-03 19:23:11 +00:00
|
|
|
_sharedPreferences.setBool(PreferencesKey.lookupsYatService, looksUpYatService));
|
|
|
|
|
|
|
|
reaction(
|
2023-12-02 02:26:43 +00:00
|
|
|
(_) => lookupsUnstoppableDomains,
|
|
|
|
(bool looksUpUnstoppableDomains) => _sharedPreferences.setBool(
|
|
|
|
PreferencesKey.lookupsUnstoppableDomains, looksUpUnstoppableDomains));
|
2023-11-03 19:23:11 +00:00
|
|
|
|
|
|
|
reaction(
|
2023-12-02 02:26:43 +00:00
|
|
|
(_) => lookupsOpenAlias,
|
|
|
|
(bool looksUpOpenAlias) =>
|
2023-11-03 19:23:11 +00:00
|
|
|
_sharedPreferences.setBool(PreferencesKey.lookupsOpenAlias, looksUpOpenAlias));
|
|
|
|
|
2023-12-02 02:26:43 +00:00
|
|
|
reaction((_) => lookupsENS,
|
|
|
|
(bool looksUpENS) => _sharedPreferences.setBool(PreferencesKey.lookupsENS, looksUpENS));
|
2023-11-03 19:23:11 +00:00
|
|
|
|
2024-01-23 00:30:16 +00:00
|
|
|
// secure storage keys:
|
|
|
|
reaction(
|
|
|
|
(_) => allowBiometricalAuthentication,
|
2024-05-08 20:23:27 +00:00
|
|
|
(bool biometricalAuthentication) => secureStorage.write(
|
2024-01-23 00:30:16 +00:00
|
|
|
key: SecureKey.allowBiometricalAuthenticationKey,
|
|
|
|
value: biometricalAuthentication.toString()));
|
|
|
|
|
|
|
|
reaction(
|
|
|
|
(_) => selectedCake2FAPreset,
|
2024-05-08 20:23:27 +00:00
|
|
|
(Cake2FAPresetsOptions selectedCake2FAPreset) => secureStorage.write(
|
2024-01-23 00:30:16 +00:00
|
|
|
key: SecureKey.selectedCake2FAPreset,
|
|
|
|
value: selectedCake2FAPreset.serialize().toString()));
|
|
|
|
|
|
|
|
reaction(
|
|
|
|
(_) => shouldRequireTOTP2FAForAccessingWallet,
|
2024-05-08 20:23:27 +00:00
|
|
|
(bool requireTOTP2FAForAccessingWallet) => secureStorage.write(
|
2024-01-23 00:30:16 +00:00
|
|
|
key: SecureKey.shouldRequireTOTP2FAForAccessingWallet,
|
|
|
|
value: requireTOTP2FAForAccessingWallet.toString()));
|
|
|
|
|
|
|
|
reaction(
|
|
|
|
(_) => shouldRequireTOTP2FAForSendsToContact,
|
2024-05-08 20:23:27 +00:00
|
|
|
(bool requireTOTP2FAForSendsToContact) => secureStorage.write(
|
2024-01-23 00:30:16 +00:00
|
|
|
key: SecureKey.shouldRequireTOTP2FAForSendsToContact,
|
|
|
|
value: requireTOTP2FAForSendsToContact.toString()));
|
|
|
|
|
|
|
|
reaction(
|
|
|
|
(_) => shouldRequireTOTP2FAForSendsToNonContact,
|
2024-05-08 20:23:27 +00:00
|
|
|
(bool requireTOTP2FAForSendsToNonContact) => secureStorage.write(
|
2024-01-23 00:30:16 +00:00
|
|
|
key: SecureKey.shouldRequireTOTP2FAForSendsToNonContact,
|
|
|
|
value: requireTOTP2FAForSendsToNonContact.toString()));
|
|
|
|
|
|
|
|
reaction(
|
|
|
|
(_) => shouldRequireTOTP2FAForSendsToInternalWallets,
|
2024-05-08 20:23:27 +00:00
|
|
|
(bool requireTOTP2FAForSendsToInternalWallets) => secureStorage.write(
|
2024-01-23 00:30:16 +00:00
|
|
|
key: SecureKey.shouldRequireTOTP2FAForSendsToInternalWallets,
|
|
|
|
value: requireTOTP2FAForSendsToInternalWallets.toString()));
|
|
|
|
|
|
|
|
reaction(
|
|
|
|
(_) => shouldRequireTOTP2FAForExchangesToInternalWallets,
|
2024-05-08 20:23:27 +00:00
|
|
|
(bool requireTOTP2FAForExchangesToInternalWallets) => secureStorage.write(
|
2024-01-23 00:30:16 +00:00
|
|
|
key: SecureKey.shouldRequireTOTP2FAForExchangesToInternalWallets,
|
|
|
|
value: requireTOTP2FAForExchangesToInternalWallets.toString()));
|
|
|
|
|
|
|
|
reaction(
|
|
|
|
(_) => shouldRequireTOTP2FAForExchangesToExternalWallets,
|
2024-05-08 20:23:27 +00:00
|
|
|
(bool requireTOTP2FAForExchangesToExternalWallets) => secureStorage.write(
|
2024-01-23 00:30:16 +00:00
|
|
|
key: SecureKey.shouldRequireTOTP2FAForExchangesToExternalWallets,
|
|
|
|
value: requireTOTP2FAForExchangesToExternalWallets.toString()));
|
|
|
|
|
|
|
|
reaction(
|
|
|
|
(_) => shouldRequireTOTP2FAForAddingContacts,
|
2024-05-08 20:23:27 +00:00
|
|
|
(bool requireTOTP2FAForAddingContacts) => secureStorage.write(
|
2024-01-23 00:30:16 +00:00
|
|
|
key: SecureKey.shouldRequireTOTP2FAForAddingContacts,
|
|
|
|
value: requireTOTP2FAForAddingContacts.toString()));
|
|
|
|
|
|
|
|
reaction(
|
|
|
|
(_) => shouldRequireTOTP2FAForCreatingNewWallets,
|
2024-05-08 20:23:27 +00:00
|
|
|
(bool requireTOTP2FAForCreatingNewWallets) => secureStorage.write(
|
2024-01-23 00:30:16 +00:00
|
|
|
key: SecureKey.shouldRequireTOTP2FAForCreatingNewWallets,
|
|
|
|
value: requireTOTP2FAForCreatingNewWallets.toString()));
|
|
|
|
|
|
|
|
reaction(
|
|
|
|
(_) => shouldRequireTOTP2FAForAllSecurityAndBackupSettings,
|
2024-05-08 20:23:27 +00:00
|
|
|
(bool requireTOTP2FAForAllSecurityAndBackupSettings) => secureStorage.write(
|
2024-01-23 00:30:16 +00:00
|
|
|
key: SecureKey.shouldRequireTOTP2FAForAllSecurityAndBackupSettings,
|
|
|
|
value: requireTOTP2FAForAllSecurityAndBackupSettings.toString()));
|
|
|
|
|
2024-05-08 20:23:27 +00:00
|
|
|
reaction((_) => useTOTP2FA,
|
|
|
|
(bool use) => secureStorage.write(key: SecureKey.useTOTP2FA, value: use.toString()));
|
2024-01-23 00:30:16 +00:00
|
|
|
|
2024-05-08 20:23:27 +00:00
|
|
|
reaction((_) => totpSecretKey,
|
|
|
|
(String totpKey) => secureStorage.write(key: SecureKey.totpSecretKey, value: totpKey));
|
2024-01-23 00:30:16 +00:00
|
|
|
|
|
|
|
reaction(
|
|
|
|
(_) => pinTimeOutDuration,
|
2024-05-08 20:23:27 +00:00
|
|
|
(PinCodeRequiredDuration pinCodeInterval) => secureStorage.write(
|
2024-01-23 00:30:16 +00:00
|
|
|
key: SecureKey.pinTimeOutDuration, value: pinCodeInterval.value.toString()));
|
|
|
|
|
2024-04-08 14:54:58 +00:00
|
|
|
reaction(
|
|
|
|
(_) => customBitcoinFeeRate,
|
|
|
|
(int customBitcoinFeeRate) =>
|
|
|
|
_sharedPreferences.setInt(PreferencesKey.customBitcoinFeeRate, customBitcoinFeeRate));
|
|
|
|
|
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base
* feat: allow scanning elect-rs using get_tweaks
* feat: scanning and adding addresses working with getTweaks, add btc SP address type
* chore: pubspec.lock
* chore: pubspec.lock
* fix: scan when switching, fix multiple unspents in same tx
* fix: initial scan
* fix: initial scan
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* fix: nodes & build
* fix: send all with multiple outs
* refactor: unchanged file
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* fix: scan fixes, add date, allow sending while scanning
* feat: sync fixes, sp settings
* feat: fix resyncing
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* fix: double balance
* feat: node domain
* fix: menu name
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* fix: status toggle
* minor enhancement
* Monero.com fixes
* update sp_scanner to include windows and linux
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 14:43:48 +00:00
|
|
|
reaction((_) => silentPaymentsCardDisplay, (bool silentPaymentsCardDisplay) {
|
|
|
|
_sharedPreferences.setBool(
|
|
|
|
PreferencesKey.silentPaymentsCardDisplay, silentPaymentsCardDisplay);
|
|
|
|
});
|
|
|
|
|
|
|
|
reaction(
|
|
|
|
(_) => silentPaymentsAlwaysScan,
|
|
|
|
(bool silentPaymentsAlwaysScan) => _sharedPreferences.setBool(
|
|
|
|
PreferencesKey.silentPaymentsAlwaysScan, silentPaymentsAlwaysScan));
|
|
|
|
|
litecoin mweb support (#1455)
* Fix stub creation
* Generate MWEB addresses
* Fix mweb address derivation
* Use camel-case
* Show utxos in tx list
* A few fixes
* Add spent processing
* Update balance
* Balance fixes
* Update address records
* Get rid of debounce hack
* Get sending up to the confirmation box
* Fee estimation
* Stop the daemon if plugin is unloaded
* Normal fee for non-mweb txns
* Fix fee estimation for send all
* Don't hash mweb addresses
* More fee fixes
* Broadcast mweb
* Remove test files
* One more
* Confirm sent txns
* Couple of fixes
* Resign inputs after mweb create
* Some more fixes
* Update balance after sending
* Correctly update address records
* Update confs
* [skip ci] updates
* [skip ci] add dep overrides
* working
* small fix
* merge fixes [skip ci]
* merge fixes [skip ci]
* [skip ci] minor fixes
* silent payment fixes [skip ci]
* updates [skip ci]
* save [skip ci]
* use mwebutxos box
* [skip ci] lots of fixes, still testing
* add rescan from height feature and test workflow build
* install go
* use sudo
* correct package name
* move building mweb higher for faster testing
* install fixes
* install later version of go
* go fixes
* testing
* testing
* testing
* testing
* testing
* should workgit add .github/workflows/pr_test_build.yml
* ???
* ??? pt.2
* should work, for real this time
* fix tx history not persisting + update build_mwebd script
* updates
* fix some rescan and address gen issues
* save [skip ci]
* fix unconfirmed balance not updating when receiving
* unspent coins / coin control fixes
* coin control fixes
* address balance and txCount fixes, try/catch electrum call
* fix txCount for addresses
* save [skip ci]
* potential fixes
* minor fix
* minor fix - 2
* sync status fixes, potential fix for background state issue
* workflow and script updates
* updates
* expirimental optimization
* [skip ci] minor enhancements
* workflow and script fixes
* workflow minor cleanup [skip ci]
* minor code cleanup & friendlier error message on failed tx's
* balance when sending fix
* experimental
* more experiments
* save
* updates
* coin control edge cases
* remove neutrino.db if no litecoin wallets left after deleting
* update translations
* updates
* minor fix
* [skip ci] update translations + minor fixes
* state fixes
* configure fix
* ui updates
* translation fixes
* [skip ci] addressbook updates
* fix popup
* fix popup2
* fix litecoin address book
* fix ios mwebd build script
* fix for building monero.com
* minor fix
* uncomment fix for state issues
* potential mweb sync fix (ios)
* remove print [skip ci]
* electrum stream potential fix
* fix ios build issues [skip ci]
* connection reliability updates, update kotlin code to match swift code, minor electrum error handling
* dep fixes
* minor fix
* more merge fixes
* bitcoin_flutter removal fixes
* [skip ci] fix always scan setting, swift updates
* updates
* fixes
* small fix
* small fix
* fix
* dart:convert != package:convert
* change address fixes
* update bitcoin_base to fix mweb address program checking
* fix ios xcode project [skip ci]
* updates
* more fixes
* more fixes
* ensure we don't initialize mweb until we really have to
* fix regression
* improve mweb reliability
* [skip ci] wip adress generation
* wip
* wip
* [skip ci] wip
* updates [skip ci]
* ios fixes
* fix workflows + ios fix
* test old mweb version
* update go version and mwebd hash
* review updates pt.1
* Update cw_bitcoin/lib/litecoin_wallet.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* remove non-litecoin address types regex [skip ci]
* more minor fixes
* remove duplicate [skip ci]
* Update lib/store/settings_store.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* script updates, swap params on createLitecoinWalletService
* topup fix
* [skip ci] wip
* [skip ci] testing
* [skip ci] file didn't get saved
* more address generation reliability fixes
* [skip ci] minor
* minor code cleanup
* hopefully prevents send issue
* [skip ci] wip address changes
* [skip ci] save
* save mweb addresses, auto-restart sync process if it gets stuck [skip ci]
* address generation issues mostly resolved
* more performance fixes
* [skip ci]
* this should maybe be refactored, pt.1
* separate mweb balances, pt.2
* [skip ci] save
* add translations [skip ci]
* fix sending with mweb amounts
* works for simple mweb-mweb case, further testing needed
* found an edge case
* [skip ci] make failed broadcast error message less serious
* minor
* capture all grpc errors and much better error handling overall
* [skip ci] minor
* prevent transactions with < 6 confirmations from being used + hide mweb balances if mweb is off
* fix
* merge fixes pt.1 [skip ci]
* fix mweb tags
* fix
* [skip ci] fix tag spacing
* fix transaction history not showing up
* fix mweb crash on non-fully deleted mweb cache, sync status ETA, other connection fixes
* [skip ci] minor code cleanup
* [skip ci] minor code cleanup
* additional cleanup
* silent payments eta fixes and updates
* revert sync eta changes into separate pr
* [skip ci] minor
* [skip ci] minor
* revert sync status title
* review fixes, additional cleanup
* [skip ci] minor
* [skip ci] minor
* [skip ci] minor
* trigger build
* review fixes, pt.2
* check if still processing utxos before updating sync status [skip ci]
* [skip ci] minor
* balance fix
* minor
* minor
* [skip ci] minor
* [skip ci] fix test net btc
* don't use mwebd for non-mweb tx's
* [skip ci] minor cleanup
* don't show all 1000+ mweb addresses on receive page
* minor cleanup + additional logging
---------
Co-authored-by: Hector Chu <hectorchu@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
2024-09-28 02:22:25 +00:00
|
|
|
reaction(
|
|
|
|
(_) => mwebAlwaysScan,
|
|
|
|
(bool mwebAlwaysScan) =>
|
|
|
|
_sharedPreferences.setBool(PreferencesKey.mwebAlwaysScan, mwebAlwaysScan));
|
|
|
|
|
|
|
|
reaction(
|
|
|
|
(_) => mwebCardDisplay,
|
|
|
|
(bool mwebCardDisplay) =>
|
|
|
|
_sharedPreferences.setBool(PreferencesKey.mwebCardDisplay, mwebCardDisplay));
|
|
|
|
|
|
|
|
reaction((_) => mwebEnabled,
|
|
|
|
(bool mwebEnabled) => _sharedPreferences.setBool(PreferencesKey.mwebEnabled, mwebEnabled));
|
|
|
|
|
|
|
|
reaction(
|
|
|
|
(_) => hasEnabledMwebBefore,
|
|
|
|
(bool hasEnabledMwebBefore) =>
|
|
|
|
_sharedPreferences.setBool(PreferencesKey.hasEnabledMwebBefore, hasEnabledMwebBefore));
|
|
|
|
|
2024-11-07 02:57:36 +00:00
|
|
|
reaction(
|
|
|
|
(_) => mwebNodeUri,
|
|
|
|
(String mwebNodeUri) =>
|
|
|
|
_sharedPreferences.setString(PreferencesKey.mwebNodeUri, mwebNodeUri));
|
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
this.nodes.observe((change) {
|
|
|
|
if (change.newValue != null && change.key != null) {
|
|
|
|
_saveCurrentNode(change.newValue!, change.key!);
|
|
|
|
}
|
|
|
|
});
|
2023-10-05 01:09:07 +00:00
|
|
|
|
|
|
|
this.powNodes.observe((change) {
|
|
|
|
if (change.newValue != null && change.key != null) {
|
|
|
|
_saveCurrentPowNode(change.newValue!, change.key!);
|
|
|
|
}
|
|
|
|
});
|
2020-07-06 20:09:03 +00:00
|
|
|
}
|
|
|
|
|
2020-09-21 11:50:26 +00:00
|
|
|
static const defaultPinLength = 4;
|
|
|
|
static const defaultActionsMode = 11;
|
2024-09-23 14:10:40 +00:00
|
|
|
static const defaultPinCodeTimeOutDuration = PinCodeRequiredDuration.tenMinutes;
|
2023-08-29 16:11:51 +00:00
|
|
|
static const defaultAutoGenerateSubaddressStatus = AutoGenerateSubaddressStatus.initialized;
|
CW-676 Add Linux scripts to build monero_c for linux platform (#1527)
* Revert "Revert btc address types"
This reverts commit a49e57e3
* Re-add Bitcoin Address types
Fix conflicts with main
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* Update Monero
* not sure why it's failing
* Enable Exolix
Improve service updates indicator
New versions
* Add exolix Api token to limits api
* Ignore reporting network issues
* Change default bitcoin node
* Merge main and update linux version
* Update app version [skip ci]
* New versions
* Fix conflicts and update linux version
* minor fix
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* update linux version
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* Merge and fix main
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* update version
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* update app version [skip ci]
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* fix missing encryption utils in hardware wallet functions [skip ci]
* fix conflicts
* Include missed monero dll for windows.
* reformatting [skip ci]
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* remove tron
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* merge main and update version
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* update version
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Add Tron
Update Linux version
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* merge main
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix: Tron file write, build scripts
* - merge linux with Monero Dart
- Temporarily disable Monero
* fix other issues with linux
* linux ci
fix build script
* Update pr_test_build_linux.yml
install required packages
* add linux desktop dependencies
* don't use apk in linux build releases
* don't copy the file to test-apk
* fix linux runtime issues
* remove libc++_shared.so
* fix issues with linux
* prepare both android and linux (because otherwise it will fail)
* ci script updates
* run apt update
* bump image to ubuntu 22.04
note: remember to put it down later
* bump python version
* remove some dependencies
* remove unused import
* add missing dependencies
* fix dependencies
* some fixes
* remove print [skip ci]
* Add back RunnerBase.entitlements
minor fixes [skip ci]
* fix memory leak / infinite recurrsion when opening xmr wallet
* url_launcher_linux: 3.1.1 # https://github.com/flutter/flutter/issues/153083
* fix conflicts with main
* handle walletKeysFile with encryptionUtils
* update app version [skip ci]
* add wownero [skip ci]
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
2024-08-12 22:18:14 +00:00
|
|
|
static final walletPasswordDirectInput = Platform.isLinux;
|
2023-11-17 13:45:42 +00:00
|
|
|
static const defaultSeedPhraseLength = SeedPhraseLength.twelveWords;
|
2024-08-26 17:06:54 +00:00
|
|
|
static const defaultMoneroSeedType = MoneroSeedType.defaultSeedType;
|
|
|
|
static const defaultBitcoinSeedType = BitcoinSeedType.defaultDerivationType;
|
CW-580: BIP39 Wallets Shared Seed Implementation: "One Seed - Multiple Wallets" (#1307)
* feat: Implement creating new BIP39 wallet with same seed used for other owned BIP39 wallets
* feat: Use same seed for BIP39 Wallets
* Update pre_existing_seeds_page.dart
* Feat: BIP39 Same seed wallet creation using the Common Parent Wallet Strategy
* feat: Finalize implementing preexisting seeds
* feat: Implement shared bip39 wallet seed for Bitcoin wallet type
* feat: Implement shared bip39 wallet seed for Litecoin wallet type
* feat: Implement shared bip39 wallet seed for BitcoinCash wallet type
* feat: Implement shared bip39 wallet seed for Nano wallet type, although disabled entry for now
* fix: Remove non bip39 seed wallet type from listing
* feat: Implement grouped and single wallets lists in wallets listing page and implement editing and saving group names
* fix: Issue where the ontap always references the leadwallet, also make shared seed wallets section header only display when the multi wallet groups list is not empty
* fix: Add translation and adjust the way the groups display
* feat: Activate bip39 as an option for creating Nano wallet types
* fix: Handle edgecase with creating new wallet with group address, handle case where only bip39 derivation type is allowed with child wallets, activate nano wallet type for shared seed
* chore: Modify the UI to fit adjustment made on figma
* fix: Disposed box triggering error in hive and causing wallet list view to display error
* fix: Switch wallet groups title in wallets list page and also fix issue with renaming groups
* Update lib/reactions/bip39_wallet_utils.dart [skip ci]
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* Update lib/router.dart [skip ci]
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* fix: Review fixes: Combine New Wallet Page Type arguments into a single model
* fix: Review fixes: Add failure guard when fetching mnemonic for selected wallet in pre-existing wallets page
* fix: Review fixes - Add loading indicator when mnemonic is being selected for wallet
* fix: Review fixes - Modify variable name to avoid clashes
* fix: Review fixes - Access WalletManager through dependency injection instead of service location
* fix: Review fixes - Add testnet to convertWalletInfoToWalletlistItem function, and adjust according where used
* fix: Review fixes - Add walletPassword to nano, tron and wownero wallets and confirm it is properly handled as it should be
* fix: Remove leadWallet, modify filtering flow to reflect this and not depend on leadWallet, and adjust privacy settings
* fix: Review Fixes - Modify restore flow to reflect current nature of bip39 as default for majority of wallet types
* fix: QA Fixes - Modify preexisting page to display wallet group names if set, and display them in incremental order if not set
* fix: Add wallet group description page and rename pre-existingseeds page to wallet group display page
* fix: Product Fix - Rename pre-existing seeds file name to wallet group display filename
* fix: Product fix - Separate multiwallets groups from single wallets and display separately
* fix - Product Fix - Add empty state for wallet group listing when creating a new wallet, adjust CTAs across buttons relating to the flow also
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-09-20 18:25:08 +00:00
|
|
|
static const defaultNanoSeedType = NanoSeedType.defaultDerivationType;
|
2020-07-06 20:09:03 +00:00
|
|
|
|
|
|
|
@observable
|
|
|
|
FiatCurrency fiatCurrency;
|
|
|
|
|
2024-11-07 05:50:48 +00:00
|
|
|
@observable
|
|
|
|
Country? selectedCakePayCountry;
|
|
|
|
|
2021-10-04 13:03:35 +00:00
|
|
|
@observable
|
|
|
|
bool shouldShowYatPopup;
|
|
|
|
|
2024-04-12 12:36:42 +00:00
|
|
|
@observable
|
|
|
|
bool shouldShowRepWarning;
|
|
|
|
|
2023-04-16 13:45:35 +00:00
|
|
|
@observable
|
|
|
|
bool shouldShowMarketPlaceInDashboard;
|
|
|
|
|
2020-07-06 20:09:03 +00:00
|
|
|
@observable
|
|
|
|
ObservableList<ActionListDisplayMode> actionlistDisplayMode;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
BalanceDisplayMode balanceDisplayMode;
|
|
|
|
|
|
|
|
@observable
|
2022-12-06 23:38:36 +00:00
|
|
|
FiatApiMode fiatApiMode;
|
2020-07-06 20:09:03 +00:00
|
|
|
|
|
|
|
@observable
|
|
|
|
bool shouldSaveRecipientAddress;
|
|
|
|
|
2023-08-29 16:11:51 +00:00
|
|
|
@observable
|
|
|
|
AutoGenerateSubaddressStatus autoGenerateSubaddressStatus;
|
|
|
|
|
2023-11-25 00:37:12 +00:00
|
|
|
@observable
|
2024-08-26 17:06:54 +00:00
|
|
|
MoneroSeedType moneroSeedType;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
BitcoinSeedType bitcoinSeedType;
|
2023-11-25 00:37:12 +00:00
|
|
|
|
CW-580: BIP39 Wallets Shared Seed Implementation: "One Seed - Multiple Wallets" (#1307)
* feat: Implement creating new BIP39 wallet with same seed used for other owned BIP39 wallets
* feat: Use same seed for BIP39 Wallets
* Update pre_existing_seeds_page.dart
* Feat: BIP39 Same seed wallet creation using the Common Parent Wallet Strategy
* feat: Finalize implementing preexisting seeds
* feat: Implement shared bip39 wallet seed for Bitcoin wallet type
* feat: Implement shared bip39 wallet seed for Litecoin wallet type
* feat: Implement shared bip39 wallet seed for BitcoinCash wallet type
* feat: Implement shared bip39 wallet seed for Nano wallet type, although disabled entry for now
* fix: Remove non bip39 seed wallet type from listing
* feat: Implement grouped and single wallets lists in wallets listing page and implement editing and saving group names
* fix: Issue where the ontap always references the leadwallet, also make shared seed wallets section header only display when the multi wallet groups list is not empty
* fix: Add translation and adjust the way the groups display
* feat: Activate bip39 as an option for creating Nano wallet types
* fix: Handle edgecase with creating new wallet with group address, handle case where only bip39 derivation type is allowed with child wallets, activate nano wallet type for shared seed
* chore: Modify the UI to fit adjustment made on figma
* fix: Disposed box triggering error in hive and causing wallet list view to display error
* fix: Switch wallet groups title in wallets list page and also fix issue with renaming groups
* Update lib/reactions/bip39_wallet_utils.dart [skip ci]
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* Update lib/router.dart [skip ci]
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* fix: Review fixes: Combine New Wallet Page Type arguments into a single model
* fix: Review fixes: Add failure guard when fetching mnemonic for selected wallet in pre-existing wallets page
* fix: Review fixes - Add loading indicator when mnemonic is being selected for wallet
* fix: Review fixes - Modify variable name to avoid clashes
* fix: Review fixes - Access WalletManager through dependency injection instead of service location
* fix: Review fixes - Add testnet to convertWalletInfoToWalletlistItem function, and adjust according where used
* fix: Review fixes - Add walletPassword to nano, tron and wownero wallets and confirm it is properly handled as it should be
* fix: Remove leadWallet, modify filtering flow to reflect this and not depend on leadWallet, and adjust privacy settings
* fix: Review Fixes - Modify restore flow to reflect current nature of bip39 as default for majority of wallet types
* fix: QA Fixes - Modify preexisting page to display wallet group names if set, and display them in incremental order if not set
* fix: Add wallet group description page and rename pre-existingseeds page to wallet group display page
* fix: Product Fix - Rename pre-existing seeds file name to wallet group display filename
* fix: Product fix - Separate multiwallets groups from single wallets and display separately
* fix - Product Fix - Add empty state for wallet group listing when creating a new wallet, adjust CTAs across buttons relating to the flow also
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-09-20 18:25:08 +00:00
|
|
|
@observable
|
|
|
|
NanoSeedType nanoSeedType;
|
|
|
|
|
2023-04-20 09:59:59 +00:00
|
|
|
@observable
|
|
|
|
bool isAppSecure;
|
|
|
|
|
2023-05-15 12:26:56 +00:00
|
|
|
@observable
|
2024-11-09 19:00:56 +00:00
|
|
|
bool disableTradeOption;
|
2023-05-15 12:26:56 +00:00
|
|
|
|
2024-11-07 01:26:14 +00:00
|
|
|
@observable
|
|
|
|
FilterListOrderType contactListOrder;
|
|
|
|
|
2024-03-25 18:28:45 +00:00
|
|
|
@observable
|
|
|
|
bool disableBulletin;
|
|
|
|
|
2023-12-13 21:58:43 +00:00
|
|
|
@observable
|
2024-11-07 01:26:14 +00:00
|
|
|
FilterListOrderType walletListOrder;
|
2023-12-13 21:58:43 +00:00
|
|
|
|
|
|
|
@observable
|
|
|
|
bool walletListAscending;
|
|
|
|
|
2024-11-07 01:26:14 +00:00
|
|
|
@observable
|
|
|
|
bool contactListAscending;
|
|
|
|
|
2020-07-06 20:09:03 +00:00
|
|
|
@observable
|
|
|
|
bool allowBiometricalAuthentication;
|
|
|
|
|
2023-08-04 13:49:26 +00:00
|
|
|
@observable
|
|
|
|
bool shouldRequireTOTP2FAForAccessingWallet;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
bool shouldRequireTOTP2FAForSendsToContact;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
bool shouldRequireTOTP2FAForSendsToNonContact;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
bool shouldRequireTOTP2FAForSendsToInternalWallets;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
bool shouldRequireTOTP2FAForExchangesToInternalWallets;
|
|
|
|
|
2023-11-02 18:17:52 +00:00
|
|
|
@observable
|
|
|
|
bool shouldRequireTOTP2FAForExchangesToExternalWallets;
|
|
|
|
|
2023-08-04 13:49:26 +00:00
|
|
|
@observable
|
|
|
|
Cake2FAPresetsOptions selectedCake2FAPreset;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
bool shouldRequireTOTP2FAForAddingContacts;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
bool shouldRequireTOTP2FAForCreatingNewWallets;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
bool shouldRequireTOTP2FAForAllSecurityAndBackupSettings;
|
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
@observable
|
2023-09-28 18:40:15 +00:00
|
|
|
bool useTOTP2FA;
|
2023-05-17 14:43:23 +00:00
|
|
|
|
|
|
|
@observable
|
2023-09-28 18:40:15 +00:00
|
|
|
String totpSecretKey;
|
2023-05-17 14:43:23 +00:00
|
|
|
|
|
|
|
@observable
|
|
|
|
int numberOfFailedTokenTrials;
|
|
|
|
|
2022-11-22 02:18:18 +00:00
|
|
|
@observable
|
2023-03-01 21:44:15 +00:00
|
|
|
ExchangeApiMode exchangeStatus;
|
2022-11-22 02:18:18 +00:00
|
|
|
|
2020-07-06 20:09:03 +00:00
|
|
|
@observable
|
2020-12-15 19:30:16 +00:00
|
|
|
ThemeBase currentTheme;
|
2020-07-06 20:09:03 +00:00
|
|
|
|
|
|
|
@observable
|
2020-09-21 11:50:26 +00:00
|
|
|
int pinCodeLength;
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2022-11-22 20:52:28 +00:00
|
|
|
@observable
|
|
|
|
PinCodeRequiredDuration pinTimeOutDuration;
|
|
|
|
|
2023-11-17 13:45:42 +00:00
|
|
|
@observable
|
|
|
|
SeedPhraseLength seedPhraseLength;
|
|
|
|
|
2020-09-28 15:47:43 +00:00
|
|
|
@computed
|
2020-12-10 17:53:40 +00:00
|
|
|
ThemeData get theme => currentTheme.themeData;
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2020-09-28 15:47:43 +00:00
|
|
|
@observable
|
|
|
|
String languageCode;
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2021-01-27 13:51:51 +00:00
|
|
|
@observable
|
|
|
|
ObservableMap<WalletType, TransactionPriority> priority;
|
|
|
|
|
2023-11-16 23:23:34 +00:00
|
|
|
@observable
|
|
|
|
ObservableMap<String, bool> trocadorProviderStates = ObservableMap<String, bool>();
|
|
|
|
|
2023-08-04 17:01:49 +00:00
|
|
|
@observable
|
|
|
|
SortBalanceBy sortBalanceBy;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
bool pinNativeTokenAtTop;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
bool useEtherscan;
|
|
|
|
|
2023-12-02 02:26:43 +00:00
|
|
|
@observable
|
|
|
|
bool usePolygonScan;
|
|
|
|
|
2024-05-08 14:26:57 +00:00
|
|
|
@observable
|
|
|
|
bool useTronGrid;
|
|
|
|
|
2024-08-26 17:07:25 +00:00
|
|
|
@observable
|
|
|
|
bool useMempoolFeeAPI;
|
|
|
|
|
2023-11-17 18:35:46 +00:00
|
|
|
@observable
|
|
|
|
String defaultNanoRep;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
String defaultBananoRep;
|
|
|
|
|
2023-11-03 19:23:11 +00:00
|
|
|
@observable
|
|
|
|
bool lookupsTwitter;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
bool lookupsMastodon;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
bool lookupsYatService;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
bool lookupsUnstoppableDomains;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
bool lookupsOpenAlias;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
bool lookupsENS;
|
|
|
|
|
2023-08-04 17:55:56 +00:00
|
|
|
@observable
|
|
|
|
SyncMode currentSyncMode;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
bool currentSyncAll;
|
|
|
|
|
2020-07-06 20:09:03 +00:00
|
|
|
String appVersion;
|
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
String deviceName;
|
|
|
|
|
2024-04-08 14:54:58 +00:00
|
|
|
@observable
|
|
|
|
int customBitcoinFeeRate;
|
|
|
|
|
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base
* feat: allow scanning elect-rs using get_tweaks
* feat: scanning and adding addresses working with getTweaks, add btc SP address type
* chore: pubspec.lock
* chore: pubspec.lock
* fix: scan when switching, fix multiple unspents in same tx
* fix: initial scan
* fix: initial scan
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* fix: nodes & build
* fix: send all with multiple outs
* refactor: unchanged file
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* fix: scan fixes, add date, allow sending while scanning
* feat: sync fixes, sp settings
* feat: fix resyncing
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* fix: double balance
* feat: node domain
* fix: menu name
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* fix: status toggle
* minor enhancement
* Monero.com fixes
* update sp_scanner to include windows and linux
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 14:43:48 +00:00
|
|
|
@observable
|
|
|
|
bool silentPaymentsCardDisplay;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
bool silentPaymentsAlwaysScan;
|
|
|
|
|
litecoin mweb support (#1455)
* Fix stub creation
* Generate MWEB addresses
* Fix mweb address derivation
* Use camel-case
* Show utxos in tx list
* A few fixes
* Add spent processing
* Update balance
* Balance fixes
* Update address records
* Get rid of debounce hack
* Get sending up to the confirmation box
* Fee estimation
* Stop the daemon if plugin is unloaded
* Normal fee for non-mweb txns
* Fix fee estimation for send all
* Don't hash mweb addresses
* More fee fixes
* Broadcast mweb
* Remove test files
* One more
* Confirm sent txns
* Couple of fixes
* Resign inputs after mweb create
* Some more fixes
* Update balance after sending
* Correctly update address records
* Update confs
* [skip ci] updates
* [skip ci] add dep overrides
* working
* small fix
* merge fixes [skip ci]
* merge fixes [skip ci]
* [skip ci] minor fixes
* silent payment fixes [skip ci]
* updates [skip ci]
* save [skip ci]
* use mwebutxos box
* [skip ci] lots of fixes, still testing
* add rescan from height feature and test workflow build
* install go
* use sudo
* correct package name
* move building mweb higher for faster testing
* install fixes
* install later version of go
* go fixes
* testing
* testing
* testing
* testing
* testing
* should workgit add .github/workflows/pr_test_build.yml
* ???
* ??? pt.2
* should work, for real this time
* fix tx history not persisting + update build_mwebd script
* updates
* fix some rescan and address gen issues
* save [skip ci]
* fix unconfirmed balance not updating when receiving
* unspent coins / coin control fixes
* coin control fixes
* address balance and txCount fixes, try/catch electrum call
* fix txCount for addresses
* save [skip ci]
* potential fixes
* minor fix
* minor fix - 2
* sync status fixes, potential fix for background state issue
* workflow and script updates
* updates
* expirimental optimization
* [skip ci] minor enhancements
* workflow and script fixes
* workflow minor cleanup [skip ci]
* minor code cleanup & friendlier error message on failed tx's
* balance when sending fix
* experimental
* more experiments
* save
* updates
* coin control edge cases
* remove neutrino.db if no litecoin wallets left after deleting
* update translations
* updates
* minor fix
* [skip ci] update translations + minor fixes
* state fixes
* configure fix
* ui updates
* translation fixes
* [skip ci] addressbook updates
* fix popup
* fix popup2
* fix litecoin address book
* fix ios mwebd build script
* fix for building monero.com
* minor fix
* uncomment fix for state issues
* potential mweb sync fix (ios)
* remove print [skip ci]
* electrum stream potential fix
* fix ios build issues [skip ci]
* connection reliability updates, update kotlin code to match swift code, minor electrum error handling
* dep fixes
* minor fix
* more merge fixes
* bitcoin_flutter removal fixes
* [skip ci] fix always scan setting, swift updates
* updates
* fixes
* small fix
* small fix
* fix
* dart:convert != package:convert
* change address fixes
* update bitcoin_base to fix mweb address program checking
* fix ios xcode project [skip ci]
* updates
* more fixes
* more fixes
* ensure we don't initialize mweb until we really have to
* fix regression
* improve mweb reliability
* [skip ci] wip adress generation
* wip
* wip
* [skip ci] wip
* updates [skip ci]
* ios fixes
* fix workflows + ios fix
* test old mweb version
* update go version and mwebd hash
* review updates pt.1
* Update cw_bitcoin/lib/litecoin_wallet.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* remove non-litecoin address types regex [skip ci]
* more minor fixes
* remove duplicate [skip ci]
* Update lib/store/settings_store.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* script updates, swap params on createLitecoinWalletService
* topup fix
* [skip ci] wip
* [skip ci] testing
* [skip ci] file didn't get saved
* more address generation reliability fixes
* [skip ci] minor
* minor code cleanup
* hopefully prevents send issue
* [skip ci] wip address changes
* [skip ci] save
* save mweb addresses, auto-restart sync process if it gets stuck [skip ci]
* address generation issues mostly resolved
* more performance fixes
* [skip ci]
* this should maybe be refactored, pt.1
* separate mweb balances, pt.2
* [skip ci] save
* add translations [skip ci]
* fix sending with mweb amounts
* works for simple mweb-mweb case, further testing needed
* found an edge case
* [skip ci] make failed broadcast error message less serious
* minor
* capture all grpc errors and much better error handling overall
* [skip ci] minor
* prevent transactions with < 6 confirmations from being used + hide mweb balances if mweb is off
* fix
* merge fixes pt.1 [skip ci]
* fix mweb tags
* fix
* [skip ci] fix tag spacing
* fix transaction history not showing up
* fix mweb crash on non-fully deleted mweb cache, sync status ETA, other connection fixes
* [skip ci] minor code cleanup
* [skip ci] minor code cleanup
* additional cleanup
* silent payments eta fixes and updates
* revert sync eta changes into separate pr
* [skip ci] minor
* [skip ci] minor
* revert sync status title
* review fixes, additional cleanup
* [skip ci] minor
* [skip ci] minor
* [skip ci] minor
* trigger build
* review fixes, pt.2
* check if still processing utxos before updating sync status [skip ci]
* [skip ci] minor
* balance fix
* minor
* minor
* [skip ci] minor
* [skip ci] fix test net btc
* don't use mwebd for non-mweb tx's
* [skip ci] minor cleanup
* don't show all 1000+ mweb addresses on receive page
* minor cleanup + additional logging
---------
Co-authored-by: Hector Chu <hectorchu@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
2024-09-28 02:22:25 +00:00
|
|
|
@observable
|
|
|
|
bool mwebAlwaysScan;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
bool mwebCardDisplay;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
bool mwebEnabled;
|
|
|
|
|
|
|
|
@observable
|
|
|
|
bool hasEnabledMwebBefore;
|
|
|
|
|
2024-11-07 02:57:36 +00:00
|
|
|
@observable
|
|
|
|
String mwebNodeUri;
|
|
|
|
|
2024-05-08 20:23:27 +00:00
|
|
|
final SecureStorage _secureStorage;
|
2023-08-04 17:55:56 +00:00
|
|
|
final SharedPreferences _sharedPreferences;
|
|
|
|
final BackgroundTasks _backgroundTasks;
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2020-09-07 15:13:39 +00:00
|
|
|
ObservableMap<WalletType, Node> nodes;
|
2023-10-05 01:09:07 +00:00
|
|
|
ObservableMap<WalletType, Node> powNodes;
|
2020-08-27 16:54:34 +00:00
|
|
|
|
2022-10-12 17:09:57 +00:00
|
|
|
Node getCurrentNode(WalletType walletType) {
|
|
|
|
final node = nodes[walletType];
|
|
|
|
|
|
|
|
if (node == null) {
|
2023-05-17 14:43:23 +00:00
|
|
|
throw Exception('No node found for wallet type: ${walletType.toString()}');
|
2022-10-12 17:09:57 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
return node;
|
|
|
|
}
|
2020-08-27 16:54:34 +00:00
|
|
|
|
2023-10-05 01:09:07 +00:00
|
|
|
Node getCurrentPowNode(WalletType walletType) {
|
|
|
|
final node = powNodes[walletType];
|
|
|
|
|
|
|
|
if (node == null) {
|
|
|
|
throw Exception('No pow node found for wallet type: ${walletType.toString()}');
|
|
|
|
}
|
|
|
|
|
|
|
|
return node;
|
|
|
|
}
|
|
|
|
|
2021-03-16 13:20:46 +00:00
|
|
|
bool isBitcoinBuyEnabled;
|
|
|
|
|
2021-06-04 10:30:59 +00:00
|
|
|
bool get shouldShowReceiveWarning =>
|
2023-05-17 14:43:23 +00:00
|
|
|
_sharedPreferences.getBool(PreferencesKey.shouldShowReceiveWarning) ?? true;
|
2021-06-04 10:30:59 +00:00
|
|
|
|
|
|
|
Future<void> setShouldShowReceiveWarning(bool value) async =>
|
2023-05-17 14:43:23 +00:00
|
|
|
_sharedPreferences.setBool(PreferencesKey.shouldShowReceiveWarning, value);
|
2021-06-04 10:30:59 +00:00
|
|
|
|
2020-07-06 20:09:03 +00:00
|
|
|
static Future<SettingsStore> load(
|
2022-10-12 17:09:57 +00:00
|
|
|
{required Box<Node> nodeSource,
|
2023-10-05 01:09:07 +00:00
|
|
|
required Box<Node> powNodeSource,
|
2022-10-12 17:09:57 +00:00
|
|
|
required bool isBitcoinBuyEnabled,
|
2020-07-06 20:09:03 +00:00
|
|
|
FiatCurrency initialFiatCurrency = FiatCurrency.usd,
|
2023-04-14 04:39:08 +00:00
|
|
|
BalanceDisplayMode initialBalanceDisplayMode = BalanceDisplayMode.availableBalance,
|
|
|
|
ThemeBase? initialTheme}) async {
|
2020-07-06 20:09:03 +00:00
|
|
|
final sharedPreferences = await getIt.getAsync<SharedPreferences>();
|
2024-05-08 20:23:27 +00:00
|
|
|
final secureStorage = await getIt.get<SecureStorage>();
|
2023-08-04 17:55:56 +00:00
|
|
|
final backgroundTasks = getIt.get<BackgroundTasks>();
|
2023-05-17 14:43:23 +00:00
|
|
|
final currentFiatCurrency = FiatCurrency.deserialize(
|
|
|
|
raw: sharedPreferences.getString(PreferencesKey.currentFiatCurrencyKey)!);
|
2024-11-07 05:50:48 +00:00
|
|
|
final savedCakePayCountryRaw = sharedPreferences.getString(PreferencesKey.currentCakePayCountry);
|
|
|
|
final currentCakePayCountry = savedCakePayCountryRaw != null
|
|
|
|
? Country.deserialize(raw: savedCakePayCountryRaw)
|
|
|
|
: null;
|
2022-12-08 15:23:17 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
TransactionPriority? moneroTransactionPriority = monero?.deserializeMoneroTransactionPriority(
|
|
|
|
raw: sharedPreferences.getInt(PreferencesKey.moneroTransactionPriority)!);
|
2022-12-08 15:23:17 +00:00
|
|
|
TransactionPriority? bitcoinTransactionPriority =
|
2023-11-17 18:35:46 +00:00
|
|
|
bitcoin?.deserializeBitcoinTransactionPriority(
|
|
|
|
sharedPreferences.getInt(PreferencesKey.bitcoinTransactionPriority)!);
|
2022-12-08 15:23:17 +00:00
|
|
|
|
|
|
|
TransactionPriority? havenTransactionPriority;
|
|
|
|
TransactionPriority? litecoinTransactionPriority;
|
2023-08-04 17:01:49 +00:00
|
|
|
TransactionPriority? ethereumTransactionPriority;
|
2023-12-02 02:26:43 +00:00
|
|
|
TransactionPriority? polygonTransactionPriority;
|
2023-10-12 22:50:16 +00:00
|
|
|
TransactionPriority? bitcoinCashTransactionPriority;
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 19:43:17 +00:00
|
|
|
TransactionPriority? wowneroTransactionPriority;
|
2022-12-08 15:23:17 +00:00
|
|
|
|
|
|
|
if (sharedPreferences.getInt(PreferencesKey.havenTransactionPriority) != null) {
|
|
|
|
havenTransactionPriority = monero?.deserializeMoneroTransactionPriority(
|
|
|
|
raw: sharedPreferences.getInt(PreferencesKey.havenTransactionPriority)!);
|
|
|
|
}
|
|
|
|
if (sharedPreferences.getInt(PreferencesKey.litecoinTransactionPriority) != null) {
|
|
|
|
litecoinTransactionPriority = bitcoin?.deserializeLitecoinTransactionPriority(
|
|
|
|
sharedPreferences.getInt(PreferencesKey.litecoinTransactionPriority)!);
|
|
|
|
}
|
2023-08-04 17:01:49 +00:00
|
|
|
if (sharedPreferences.getInt(PreferencesKey.ethereumTransactionPriority) != null) {
|
2023-12-02 02:26:43 +00:00
|
|
|
ethereumTransactionPriority = ethereum?.deserializeEthereumTransactionPriority(
|
2023-08-04 17:01:49 +00:00
|
|
|
sharedPreferences.getInt(PreferencesKey.ethereumTransactionPriority)!);
|
|
|
|
}
|
2023-12-02 02:26:43 +00:00
|
|
|
if (sharedPreferences.getInt(PreferencesKey.polygonTransactionPriority) != null) {
|
|
|
|
polygonTransactionPriority = polygon?.deserializePolygonTransactionPriority(
|
|
|
|
sharedPreferences.getInt(PreferencesKey.polygonTransactionPriority)!);
|
|
|
|
}
|
2023-10-12 22:50:16 +00:00
|
|
|
if (sharedPreferences.getInt(PreferencesKey.bitcoinCashTransactionPriority) != null) {
|
|
|
|
bitcoinCashTransactionPriority = bitcoinCash?.deserializeBitcoinCashTransactionPriority(
|
|
|
|
sharedPreferences.getInt(PreferencesKey.bitcoinCashTransactionPriority)!);
|
|
|
|
}
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 19:43:17 +00:00
|
|
|
if (sharedPreferences.getInt(PreferencesKey.wowneroTransactionPriority) != null) {
|
|
|
|
wowneroTransactionPriority = wownero?.deserializeWowneroTransactionPriority(
|
|
|
|
raw: sharedPreferences.getInt(PreferencesKey.wowneroTransactionPriority)!);
|
|
|
|
}
|
2022-12-08 15:23:17 +00:00
|
|
|
|
|
|
|
moneroTransactionPriority ??= monero?.getDefaultTransactionPriority();
|
|
|
|
bitcoinTransactionPriority ??= bitcoin?.getMediumTransactionPriority();
|
|
|
|
havenTransactionPriority ??= monero?.getDefaultTransactionPriority();
|
|
|
|
litecoinTransactionPriority ??= bitcoin?.getLitecoinTransactionPriorityMedium();
|
2023-08-04 17:01:49 +00:00
|
|
|
ethereumTransactionPriority ??= ethereum?.getDefaultTransactionPriority();
|
2023-10-12 22:50:16 +00:00
|
|
|
bitcoinCashTransactionPriority ??= bitcoinCash?.getDefaultTransactionPriority();
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 19:43:17 +00:00
|
|
|
wowneroTransactionPriority ??= wownero?.getDefaultTransactionPriority();
|
2023-12-02 02:26:43 +00:00
|
|
|
polygonTransactionPriority ??= polygon?.getDefaultTransactionPriority();
|
2022-12-08 15:23:17 +00:00
|
|
|
|
2020-07-06 20:09:03 +00:00
|
|
|
final currentBalanceDisplayMode = BalanceDisplayMode.deserialize(
|
2023-05-17 14:43:23 +00:00
|
|
|
raw: sharedPreferences.getInt(PreferencesKey.currentBalanceDisplayModeKey)!);
|
2022-10-12 17:09:57 +00:00
|
|
|
// FIX-ME: Check for which default value we should have here
|
2020-07-06 20:09:03 +00:00
|
|
|
final shouldSaveRecipientAddress =
|
2022-10-12 17:09:57 +00:00
|
|
|
sharedPreferences.getBool(PreferencesKey.shouldSaveRecipientAddressKey) ?? false;
|
2023-07-11 16:07:46 +00:00
|
|
|
final isAppSecure = sharedPreferences.getBool(PreferencesKey.isAppSecureKey) ?? false;
|
2024-11-09 19:00:56 +00:00
|
|
|
final disableTradeOption = sharedPreferences.getBool(PreferencesKey.disableTradeOption) ?? false;
|
2024-03-25 18:28:45 +00:00
|
|
|
final disableBulletin = sharedPreferences.getBool(PreferencesKey.disableBulletinKey) ?? false;
|
2023-12-13 21:58:43 +00:00
|
|
|
final walletListOrder =
|
2024-11-07 01:26:14 +00:00
|
|
|
FilterListOrderType.values[sharedPreferences.getInt(PreferencesKey.walletListOrder) ?? 0];
|
|
|
|
final contactListOrder =
|
|
|
|
FilterListOrderType.values[sharedPreferences.getInt(PreferencesKey.contactListOrder) ?? 0];
|
2023-12-13 21:58:43 +00:00
|
|
|
final walletListAscending =
|
|
|
|
sharedPreferences.getBool(PreferencesKey.walletListAscending) ?? true;
|
2024-11-07 01:26:14 +00:00
|
|
|
final contactListAscending =
|
|
|
|
sharedPreferences.getBool(PreferencesKey.contactListAscending) ?? true;
|
2022-12-06 23:38:36 +00:00
|
|
|
final currentFiatApiMode = FiatApiMode.deserialize(
|
2023-05-17 14:43:23 +00:00
|
|
|
raw: sharedPreferences.getInt(PreferencesKey.currentFiatApiModeKey) ??
|
|
|
|
FiatApiMode.enabled.raw);
|
|
|
|
final tokenTrialNumber = sharedPreferences.getInt(PreferencesKey.failedTotpTokenTrials) ?? 0;
|
2023-04-16 13:45:35 +00:00
|
|
|
final shouldShowMarketPlaceInDashboard =
|
|
|
|
sharedPreferences.getBool(PreferencesKey.shouldShowMarketPlaceInDashboard) ?? true;
|
2023-03-01 21:44:15 +00:00
|
|
|
final exchangeStatus = ExchangeApiMode.deserialize(
|
2023-05-17 14:43:23 +00:00
|
|
|
raw: sharedPreferences.getInt(PreferencesKey.exchangeStatusKey) ??
|
|
|
|
ExchangeApiMode.enabled.raw);
|
2024-03-04 17:32:10 +00:00
|
|
|
final bool isNewInstall = sharedPreferences.getBool(PreferencesKey.isNewInstall) ?? true;
|
|
|
|
final int defaultTheme;
|
|
|
|
if (isNewInstall) {
|
|
|
|
defaultTheme = isMoneroOnly ? ThemeList.moneroDarkTheme.raw : ThemeList.brightTheme.raw;
|
|
|
|
} else {
|
|
|
|
defaultTheme = ThemeType.bright.index;
|
|
|
|
}
|
2023-05-17 14:43:23 +00:00
|
|
|
final savedTheme = initialTheme ??
|
|
|
|
ThemeList.deserialize(
|
2024-03-04 17:32:10 +00:00
|
|
|
raw: sharedPreferences.getInt(PreferencesKey.currentTheme) ?? defaultTheme);
|
2020-07-06 20:09:03 +00:00
|
|
|
final actionListDisplayMode = ObservableList<ActionListDisplayMode>();
|
|
|
|
actionListDisplayMode.addAll(deserializeActionlistDisplayModes(
|
2023-05-17 14:43:23 +00:00
|
|
|
sharedPreferences.getInt(PreferencesKey.displayActionListModeKey) ?? defaultActionsMode));
|
2020-11-09 23:14:47 +00:00
|
|
|
var pinLength = sharedPreferences.getInt(PreferencesKey.currentPinLength);
|
2023-08-04 17:01:49 +00:00
|
|
|
final sortBalanceBy =
|
2023-11-17 18:35:46 +00:00
|
|
|
SortBalanceBy.values[sharedPreferences.getInt(PreferencesKey.sortBalanceBy) ?? 0];
|
2023-08-04 17:01:49 +00:00
|
|
|
final pinNativeTokenAtTop =
|
|
|
|
sharedPreferences.getBool(PreferencesKey.pinNativeTokenAtTop) ?? true;
|
2024-01-23 00:30:16 +00:00
|
|
|
final seedPhraseCount = sharedPreferences.getInt(PreferencesKey.currentSeedPhraseLength);
|
|
|
|
final seedPhraseWordCount = seedPhraseCount != null
|
|
|
|
? SeedPhraseLength.deserialize(raw: seedPhraseCount)
|
|
|
|
: defaultSeedPhraseLength;
|
2023-10-03 14:56:10 +00:00
|
|
|
final useEtherscan = sharedPreferences.getBool(PreferencesKey.useEtherscan) ?? true;
|
2023-12-02 02:26:43 +00:00
|
|
|
final usePolygonScan = sharedPreferences.getBool(PreferencesKey.usePolygonScan) ?? true;
|
2024-05-08 14:26:57 +00:00
|
|
|
final useTronGrid = sharedPreferences.getBool(PreferencesKey.useTronGrid) ?? true;
|
2024-08-26 17:07:25 +00:00
|
|
|
final useMempoolFeeAPI = sharedPreferences.getBool(PreferencesKey.useMempoolFeeAPI) ?? true;
|
2023-11-17 18:35:46 +00:00
|
|
|
final defaultNanoRep = sharedPreferences.getString(PreferencesKey.defaultNanoRep) ?? "";
|
|
|
|
final defaultBananoRep = sharedPreferences.getString(PreferencesKey.defaultBananoRep) ?? "";
|
2023-11-03 19:23:11 +00:00
|
|
|
final lookupsTwitter = sharedPreferences.getBool(PreferencesKey.lookupsTwitter) ?? true;
|
|
|
|
final lookupsMastodon = sharedPreferences.getBool(PreferencesKey.lookupsMastodon) ?? true;
|
|
|
|
final lookupsYatService = sharedPreferences.getBool(PreferencesKey.lookupsYatService) ?? true;
|
2023-12-02 02:26:43 +00:00
|
|
|
final lookupsUnstoppableDomains =
|
|
|
|
sharedPreferences.getBool(PreferencesKey.lookupsUnstoppableDomains) ?? true;
|
2023-11-03 19:23:11 +00:00
|
|
|
final lookupsOpenAlias = sharedPreferences.getBool(PreferencesKey.lookupsOpenAlias) ?? true;
|
|
|
|
final lookupsENS = sharedPreferences.getBool(PreferencesKey.lookupsENS) ?? true;
|
2024-04-08 14:54:58 +00:00
|
|
|
final customBitcoinFeeRate = sharedPreferences.getInt(PreferencesKey.customBitcoinFeeRate) ?? 1;
|
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base
* feat: allow scanning elect-rs using get_tweaks
* feat: scanning and adding addresses working with getTweaks, add btc SP address type
* chore: pubspec.lock
* chore: pubspec.lock
* fix: scan when switching, fix multiple unspents in same tx
* fix: initial scan
* fix: initial scan
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* fix: nodes & build
* fix: send all with multiple outs
* refactor: unchanged file
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* fix: scan fixes, add date, allow sending while scanning
* feat: sync fixes, sp settings
* feat: fix resyncing
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* fix: double balance
* feat: node domain
* fix: menu name
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* fix: status toggle
* minor enhancement
* Monero.com fixes
* update sp_scanner to include windows and linux
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 14:43:48 +00:00
|
|
|
final silentPaymentsCardDisplay =
|
|
|
|
sharedPreferences.getBool(PreferencesKey.silentPaymentsCardDisplay) ?? true;
|
|
|
|
final silentPaymentsAlwaysScan =
|
|
|
|
sharedPreferences.getBool(PreferencesKey.silentPaymentsAlwaysScan) ?? false;
|
litecoin mweb support (#1455)
* Fix stub creation
* Generate MWEB addresses
* Fix mweb address derivation
* Use camel-case
* Show utxos in tx list
* A few fixes
* Add spent processing
* Update balance
* Balance fixes
* Update address records
* Get rid of debounce hack
* Get sending up to the confirmation box
* Fee estimation
* Stop the daemon if plugin is unloaded
* Normal fee for non-mweb txns
* Fix fee estimation for send all
* Don't hash mweb addresses
* More fee fixes
* Broadcast mweb
* Remove test files
* One more
* Confirm sent txns
* Couple of fixes
* Resign inputs after mweb create
* Some more fixes
* Update balance after sending
* Correctly update address records
* Update confs
* [skip ci] updates
* [skip ci] add dep overrides
* working
* small fix
* merge fixes [skip ci]
* merge fixes [skip ci]
* [skip ci] minor fixes
* silent payment fixes [skip ci]
* updates [skip ci]
* save [skip ci]
* use mwebutxos box
* [skip ci] lots of fixes, still testing
* add rescan from height feature and test workflow build
* install go
* use sudo
* correct package name
* move building mweb higher for faster testing
* install fixes
* install later version of go
* go fixes
* testing
* testing
* testing
* testing
* testing
* should workgit add .github/workflows/pr_test_build.yml
* ???
* ??? pt.2
* should work, for real this time
* fix tx history not persisting + update build_mwebd script
* updates
* fix some rescan and address gen issues
* save [skip ci]
* fix unconfirmed balance not updating when receiving
* unspent coins / coin control fixes
* coin control fixes
* address balance and txCount fixes, try/catch electrum call
* fix txCount for addresses
* save [skip ci]
* potential fixes
* minor fix
* minor fix - 2
* sync status fixes, potential fix for background state issue
* workflow and script updates
* updates
* expirimental optimization
* [skip ci] minor enhancements
* workflow and script fixes
* workflow minor cleanup [skip ci]
* minor code cleanup & friendlier error message on failed tx's
* balance when sending fix
* experimental
* more experiments
* save
* updates
* coin control edge cases
* remove neutrino.db if no litecoin wallets left after deleting
* update translations
* updates
* minor fix
* [skip ci] update translations + minor fixes
* state fixes
* configure fix
* ui updates
* translation fixes
* [skip ci] addressbook updates
* fix popup
* fix popup2
* fix litecoin address book
* fix ios mwebd build script
* fix for building monero.com
* minor fix
* uncomment fix for state issues
* potential mweb sync fix (ios)
* remove print [skip ci]
* electrum stream potential fix
* fix ios build issues [skip ci]
* connection reliability updates, update kotlin code to match swift code, minor electrum error handling
* dep fixes
* minor fix
* more merge fixes
* bitcoin_flutter removal fixes
* [skip ci] fix always scan setting, swift updates
* updates
* fixes
* small fix
* small fix
* fix
* dart:convert != package:convert
* change address fixes
* update bitcoin_base to fix mweb address program checking
* fix ios xcode project [skip ci]
* updates
* more fixes
* more fixes
* ensure we don't initialize mweb until we really have to
* fix regression
* improve mweb reliability
* [skip ci] wip adress generation
* wip
* wip
* [skip ci] wip
* updates [skip ci]
* ios fixes
* fix workflows + ios fix
* test old mweb version
* update go version and mwebd hash
* review updates pt.1
* Update cw_bitcoin/lib/litecoin_wallet.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* remove non-litecoin address types regex [skip ci]
* more minor fixes
* remove duplicate [skip ci]
* Update lib/store/settings_store.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* script updates, swap params on createLitecoinWalletService
* topup fix
* [skip ci] wip
* [skip ci] testing
* [skip ci] file didn't get saved
* more address generation reliability fixes
* [skip ci] minor
* minor code cleanup
* hopefully prevents send issue
* [skip ci] wip address changes
* [skip ci] save
* save mweb addresses, auto-restart sync process if it gets stuck [skip ci]
* address generation issues mostly resolved
* more performance fixes
* [skip ci]
* this should maybe be refactored, pt.1
* separate mweb balances, pt.2
* [skip ci] save
* add translations [skip ci]
* fix sending with mweb amounts
* works for simple mweb-mweb case, further testing needed
* found an edge case
* [skip ci] make failed broadcast error message less serious
* minor
* capture all grpc errors and much better error handling overall
* [skip ci] minor
* prevent transactions with < 6 confirmations from being used + hide mweb balances if mweb is off
* fix
* merge fixes pt.1 [skip ci]
* fix mweb tags
* fix
* [skip ci] fix tag spacing
* fix transaction history not showing up
* fix mweb crash on non-fully deleted mweb cache, sync status ETA, other connection fixes
* [skip ci] minor code cleanup
* [skip ci] minor code cleanup
* additional cleanup
* silent payments eta fixes and updates
* revert sync eta changes into separate pr
* [skip ci] minor
* [skip ci] minor
* revert sync status title
* review fixes, additional cleanup
* [skip ci] minor
* [skip ci] minor
* [skip ci] minor
* trigger build
* review fixes, pt.2
* check if still processing utxos before updating sync status [skip ci]
* [skip ci] minor
* balance fix
* minor
* minor
* [skip ci] minor
* [skip ci] fix test net btc
* don't use mwebd for non-mweb tx's
* [skip ci] minor cleanup
* don't show all 1000+ mweb addresses on receive page
* minor cleanup + additional logging
---------
Co-authored-by: Hector Chu <hectorchu@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
2024-09-28 02:22:25 +00:00
|
|
|
final mwebAlwaysScan = sharedPreferences.getBool(PreferencesKey.mwebAlwaysScan) ?? false;
|
|
|
|
final mwebCardDisplay = sharedPreferences.getBool(PreferencesKey.mwebCardDisplay) ?? true;
|
|
|
|
final mwebEnabled = sharedPreferences.getBool(PreferencesKey.mwebEnabled) ?? false;
|
|
|
|
final hasEnabledMwebBefore =
|
|
|
|
sharedPreferences.getBool(PreferencesKey.hasEnabledMwebBefore) ?? false;
|
2024-11-07 02:57:36 +00:00
|
|
|
final mwebNodeUri = sharedPreferences.getString(PreferencesKey.mwebNodeUri) ??
|
|
|
|
"ltc-electrum.cakewallet.com:9333";
|
2023-04-20 09:59:59 +00:00
|
|
|
|
2020-11-09 23:14:47 +00:00
|
|
|
// If no value
|
|
|
|
if (pinLength == null || pinLength == 0) {
|
|
|
|
pinLength = defaultPinLength;
|
|
|
|
}
|
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
final savedLanguageCode = sharedPreferences.getString(PreferencesKey.currentLanguageCode) ??
|
|
|
|
await LanguageService.localeDetection();
|
2020-09-21 11:50:26 +00:00
|
|
|
final nodeId = sharedPreferences.getInt(PreferencesKey.currentNodeIdKey);
|
2023-05-17 14:43:23 +00:00
|
|
|
final bitcoinElectrumServerId =
|
2023-11-17 18:35:46 +00:00
|
|
|
sharedPreferences.getInt(PreferencesKey.currentBitcoinElectrumSererIdKey);
|
2023-05-17 14:43:23 +00:00
|
|
|
final litecoinElectrumServerId =
|
2023-11-17 18:35:46 +00:00
|
|
|
sharedPreferences.getInt(PreferencesKey.currentLitecoinElectrumSererIdKey);
|
2023-10-12 22:50:16 +00:00
|
|
|
final bitcoinCashElectrumServerId =
|
2023-11-17 18:35:46 +00:00
|
|
|
sharedPreferences.getInt(PreferencesKey.currentBitcoinCashNodeIdKey);
|
2023-05-17 14:43:23 +00:00
|
|
|
final havenNodeId = sharedPreferences.getInt(PreferencesKey.currentHavenNodeIdKey);
|
2023-08-04 17:01:49 +00:00
|
|
|
final ethereumNodeId = sharedPreferences.getInt(PreferencesKey.currentEthereumNodeIdKey);
|
2023-12-02 02:26:43 +00:00
|
|
|
final polygonNodeId = sharedPreferences.getInt(PreferencesKey.currentPolygonNodeIdKey);
|
2023-10-05 01:09:07 +00:00
|
|
|
final nanoNodeId = sharedPreferences.getInt(PreferencesKey.currentNanoNodeIdKey);
|
|
|
|
final nanoPowNodeId = sharedPreferences.getInt(PreferencesKey.currentNanoPowNodeIdKey);
|
CW-555-Add-Solana-Wallet (#1272)
* chore: Create cw_solana package and clean up files
* feat: Add Solana Wallet - Create, Restore form seed, restore from Key, Restore from QR, Send, Receive, transaction history, spl tokens
* fix: Make transactions file specific to solana only for solana transactions
* chore: Revert inject app details script
* fix: Fix issue with node and switch current node to main beta instead of testnet
* fix: Fix merge conflicts and adjust migration version
* fix: Fetch spl token error
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
* fix: Diplay and activate spl tokens bug
* fix: Review and fixes
* fix: reverted formatting for cryptocurrency class
* fix: Review comments, split sending flow into signing and sending separately, fix issues
* fix: Revert throwing unimplenented error
* chore: Fix comment
* chore: Fix comment
* fix: Errors in flow
* Update provider_types.dart [skip ci]
* fix: Issues with solana wallet
* Update solana_wallet.dart [skip ci]
* fix: Review comments
* fix: Date time config
* fix: Revert bash script for app details
* fix: Error with balance, displaying fees, fixing sent or received identifier bug, displaying token symbol with token transaction item in transactions list
* fix: Issues with address validation when sending spl tokens and walletconnect initial setup
* fix: Issues with sending, fetching transactions history, almost wrapping up walletconnect
* fix: Adjust imports that would affect monerocom building successfully
* fix: Refine transaction direction and continue work on walletconnect
* feat: Display SPL token transfers in the transaction history and finally settle the transaction direction
* fix: Delay in transactions history dispaly, show native token transactions first, then process spl token transactions
* feat: Switch node and revert solana chain id to previous id
* fix: Remove print statement
* fix: Remove await for transactions, fetch all transaction histories instantly and adjust solana send success message
* chore: Code refactoring and streamlined wallet type check for solana send success message
* fix: Make timeout error for node silent and add spl token images
---------
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-02-23 13:39:19 +00:00
|
|
|
final solanaNodeId = sharedPreferences.getInt(PreferencesKey.currentSolanaNodeIdKey);
|
CW-525-Add-Tron-Wallet (#1327)
* chore: Initial setup for Tron Wallet
* feat: Create Tron Wallet base flow implemented, keys, address, receive, restore and proxy classes all setup
* feat: Display seed and key within the app
* feat: Activate restore from key and seed for Tron wallet
* feat: Add icon for tron wallet in wallet listing page
* feat: Activate display of receive address for tron
* feat: Fetch and display tron balance, sending transaction flow setup, fee limit calculation setup
* feat: Implement sending of native tron, setup sending of trc20 tokens
* chore: Rename function
* Delete lib/tron/tron.dart
* feat: Activate exchange for tron and its tokens, implement balance display for trc20 tokens and setup secrets configuration for tron
* feat: Implement tron token management, add, remove, delete, and get tokens in home settings view, also minor cleanup
* feat: Activate buy and sell for tron
* feat: Implement restore from QR, transactions history listing for both native transactions and trc20 transactions
* feat: Activate send all and do some minor cleanups
* chore: Fix some lint infos and warnings
* chore: Adjust configurations
* ci: Modify CI to create and add secrets for node
* fix: Fixes made while self reviewing the PR for this feature
* feat: Add guide for adding new wallet types, and add fixes to requested changes
* fix: Handle exceptions gracefully
* fix: Alternative for trc20 estimated fee
* fix: Fixes to display of amount and fee, removing clashes
* fix: Fee calculation WIP
* fix: Fix issue with handling of send all flow and display of amount and fee values before broadcasting transaction
* fix: PR review fixes and fix merge conflicts
* fix: Modify fetching assetOfTransaction [skip ci]
* fix: Move tron settings migration to 33
2024-05-03 18:00:05 +00:00
|
|
|
final tronNodeId = sharedPreferences.getInt(PreferencesKey.currentTronNodeIdKey);
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 19:43:17 +00:00
|
|
|
final wowneroNodeId = sharedPreferences.getInt(PreferencesKey.currentWowneroNodeIdKey);
|
2020-08-27 16:54:34 +00:00
|
|
|
final moneroNode = nodeSource.get(nodeId);
|
|
|
|
final bitcoinElectrumServer = nodeSource.get(bitcoinElectrumServerId);
|
2021-05-07 07:36:38 +00:00
|
|
|
final litecoinElectrumServer = nodeSource.get(litecoinElectrumServerId);
|
2022-03-30 15:57:04 +00:00
|
|
|
final havenNode = nodeSource.get(havenNodeId);
|
2023-08-04 17:01:49 +00:00
|
|
|
final ethereumNode = nodeSource.get(ethereumNodeId);
|
2023-12-02 02:26:43 +00:00
|
|
|
final polygonNode = nodeSource.get(polygonNodeId);
|
2023-10-12 22:50:16 +00:00
|
|
|
final bitcoinCashElectrumServer = nodeSource.get(bitcoinCashElectrumServerId);
|
2023-10-05 01:09:07 +00:00
|
|
|
final nanoNode = nodeSource.get(nanoNodeId);
|
|
|
|
final nanoPowNode = powNodeSource.get(nanoPowNodeId);
|
CW-555-Add-Solana-Wallet (#1272)
* chore: Create cw_solana package and clean up files
* feat: Add Solana Wallet - Create, Restore form seed, restore from Key, Restore from QR, Send, Receive, transaction history, spl tokens
* fix: Make transactions file specific to solana only for solana transactions
* chore: Revert inject app details script
* fix: Fix issue with node and switch current node to main beta instead of testnet
* fix: Fix merge conflicts and adjust migration version
* fix: Fetch spl token error
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
* fix: Diplay and activate spl tokens bug
* fix: Review and fixes
* fix: reverted formatting for cryptocurrency class
* fix: Review comments, split sending flow into signing and sending separately, fix issues
* fix: Revert throwing unimplenented error
* chore: Fix comment
* chore: Fix comment
* fix: Errors in flow
* Update provider_types.dart [skip ci]
* fix: Issues with solana wallet
* Update solana_wallet.dart [skip ci]
* fix: Review comments
* fix: Date time config
* fix: Revert bash script for app details
* fix: Error with balance, displaying fees, fixing sent or received identifier bug, displaying token symbol with token transaction item in transactions list
* fix: Issues with address validation when sending spl tokens and walletconnect initial setup
* fix: Issues with sending, fetching transactions history, almost wrapping up walletconnect
* fix: Adjust imports that would affect monerocom building successfully
* fix: Refine transaction direction and continue work on walletconnect
* feat: Display SPL token transfers in the transaction history and finally settle the transaction direction
* fix: Delay in transactions history dispaly, show native token transactions first, then process spl token transactions
* feat: Switch node and revert solana chain id to previous id
* fix: Remove print statement
* fix: Remove await for transactions, fetch all transaction histories instantly and adjust solana send success message
* chore: Code refactoring and streamlined wallet type check for solana send success message
* fix: Make timeout error for node silent and add spl token images
---------
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-02-23 13:39:19 +00:00
|
|
|
final solanaNode = nodeSource.get(solanaNodeId);
|
CW-525-Add-Tron-Wallet (#1327)
* chore: Initial setup for Tron Wallet
* feat: Create Tron Wallet base flow implemented, keys, address, receive, restore and proxy classes all setup
* feat: Display seed and key within the app
* feat: Activate restore from key and seed for Tron wallet
* feat: Add icon for tron wallet in wallet listing page
* feat: Activate display of receive address for tron
* feat: Fetch and display tron balance, sending transaction flow setup, fee limit calculation setup
* feat: Implement sending of native tron, setup sending of trc20 tokens
* chore: Rename function
* Delete lib/tron/tron.dart
* feat: Activate exchange for tron and its tokens, implement balance display for trc20 tokens and setup secrets configuration for tron
* feat: Implement tron token management, add, remove, delete, and get tokens in home settings view, also minor cleanup
* feat: Activate buy and sell for tron
* feat: Implement restore from QR, transactions history listing for both native transactions and trc20 transactions
* feat: Activate send all and do some minor cleanups
* chore: Fix some lint infos and warnings
* chore: Adjust configurations
* ci: Modify CI to create and add secrets for node
* fix: Fixes made while self reviewing the PR for this feature
* feat: Add guide for adding new wallet types, and add fixes to requested changes
* fix: Handle exceptions gracefully
* fix: Alternative for trc20 estimated fee
* fix: Fixes to display of amount and fee, removing clashes
* fix: Fee calculation WIP
* fix: Fix issue with handling of send all flow and display of amount and fee values before broadcasting transaction
* fix: PR review fixes and fix merge conflicts
* fix: Modify fetching assetOfTransaction [skip ci]
* fix: Move tron settings migration to 33
2024-05-03 18:00:05 +00:00
|
|
|
final tronNode = nodeSource.get(tronNodeId);
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 19:43:17 +00:00
|
|
|
final wowneroNode = nodeSource.get(wowneroNodeId);
|
2020-07-06 20:09:03 +00:00
|
|
|
final packageInfo = await PackageInfo.fromPlatform();
|
2023-05-17 14:43:23 +00:00
|
|
|
final deviceName = await _getDeviceName() ?? '';
|
|
|
|
final shouldShowYatPopup = sharedPreferences.getBool(PreferencesKey.shouldShowYatPopup) ?? true;
|
2024-04-12 12:36:42 +00:00
|
|
|
final shouldShowRepWarning =
|
|
|
|
sharedPreferences.getBool(PreferencesKey.shouldShowRepWarning) ?? true;
|
2023-11-25 00:37:12 +00:00
|
|
|
|
2023-08-29 16:11:51 +00:00
|
|
|
final generateSubaddresses =
|
2023-11-17 18:35:46 +00:00
|
|
|
sharedPreferences.getInt(PreferencesKey.autoGenerateSubaddressStatusKey);
|
2020-07-06 20:09:03 +00:00
|
|
|
|
2023-08-29 16:11:51 +00:00
|
|
|
final autoGenerateSubaddressStatus = generateSubaddresses != null
|
|
|
|
? AutoGenerateSubaddressStatus.deserialize(raw: generateSubaddresses)
|
|
|
|
: defaultAutoGenerateSubaddressStatus;
|
2023-11-25 00:37:12 +00:00
|
|
|
|
|
|
|
final _moneroSeedType = sharedPreferences.getInt(PreferencesKey.moneroSeedType);
|
|
|
|
|
|
|
|
final moneroSeedType = _moneroSeedType != null
|
2024-08-26 17:06:54 +00:00
|
|
|
? MoneroSeedType.deserialize(raw: _moneroSeedType)
|
2023-11-25 00:37:12 +00:00
|
|
|
: defaultMoneroSeedType;
|
|
|
|
|
2024-08-26 17:06:54 +00:00
|
|
|
final _bitcoinSeedType = sharedPreferences.getInt(PreferencesKey.bitcoinSeedType);
|
|
|
|
|
|
|
|
final bitcoinSeedType = _bitcoinSeedType != null
|
|
|
|
? BitcoinSeedType.deserialize(raw: _bitcoinSeedType)
|
|
|
|
: defaultBitcoinSeedType;
|
|
|
|
|
CW-580: BIP39 Wallets Shared Seed Implementation: "One Seed - Multiple Wallets" (#1307)
* feat: Implement creating new BIP39 wallet with same seed used for other owned BIP39 wallets
* feat: Use same seed for BIP39 Wallets
* Update pre_existing_seeds_page.dart
* Feat: BIP39 Same seed wallet creation using the Common Parent Wallet Strategy
* feat: Finalize implementing preexisting seeds
* feat: Implement shared bip39 wallet seed for Bitcoin wallet type
* feat: Implement shared bip39 wallet seed for Litecoin wallet type
* feat: Implement shared bip39 wallet seed for BitcoinCash wallet type
* feat: Implement shared bip39 wallet seed for Nano wallet type, although disabled entry for now
* fix: Remove non bip39 seed wallet type from listing
* feat: Implement grouped and single wallets lists in wallets listing page and implement editing and saving group names
* fix: Issue where the ontap always references the leadwallet, also make shared seed wallets section header only display when the multi wallet groups list is not empty
* fix: Add translation and adjust the way the groups display
* feat: Activate bip39 as an option for creating Nano wallet types
* fix: Handle edgecase with creating new wallet with group address, handle case where only bip39 derivation type is allowed with child wallets, activate nano wallet type for shared seed
* chore: Modify the UI to fit adjustment made on figma
* fix: Disposed box triggering error in hive and causing wallet list view to display error
* fix: Switch wallet groups title in wallets list page and also fix issue with renaming groups
* Update lib/reactions/bip39_wallet_utils.dart [skip ci]
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* Update lib/router.dart [skip ci]
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* fix: Review fixes: Combine New Wallet Page Type arguments into a single model
* fix: Review fixes: Add failure guard when fetching mnemonic for selected wallet in pre-existing wallets page
* fix: Review fixes - Add loading indicator when mnemonic is being selected for wallet
* fix: Review fixes - Modify variable name to avoid clashes
* fix: Review fixes - Access WalletManager through dependency injection instead of service location
* fix: Review fixes - Add testnet to convertWalletInfoToWalletlistItem function, and adjust according where used
* fix: Review fixes - Add walletPassword to nano, tron and wownero wallets and confirm it is properly handled as it should be
* fix: Remove leadWallet, modify filtering flow to reflect this and not depend on leadWallet, and adjust privacy settings
* fix: Review Fixes - Modify restore flow to reflect current nature of bip39 as default for majority of wallet types
* fix: QA Fixes - Modify preexisting page to display wallet group names if set, and display them in incremental order if not set
* fix: Add wallet group description page and rename pre-existingseeds page to wallet group display page
* fix: Product Fix - Rename pre-existing seeds file name to wallet group display filename
* fix: Product fix - Separate multiwallets groups from single wallets and display separately
* fix - Product Fix - Add empty state for wallet group listing when creating a new wallet, adjust CTAs across buttons relating to the flow also
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-09-20 18:25:08 +00:00
|
|
|
final _nanoSeedType = sharedPreferences.getInt(PreferencesKey.nanoSeedType);
|
|
|
|
|
|
|
|
final nanoSeedType =
|
|
|
|
_nanoSeedType != null ? NanoSeedType.deserialize(raw: _nanoSeedType) : defaultNanoSeedType;
|
|
|
|
|
2022-10-12 17:09:57 +00:00
|
|
|
final nodes = <WalletType, Node>{};
|
2023-10-05 01:09:07 +00:00
|
|
|
final powNodes = <WalletType, Node>{};
|
2022-10-12 17:09:57 +00:00
|
|
|
|
|
|
|
if (moneroNode != null) {
|
2023-05-17 14:43:23 +00:00
|
|
|
nodes[WalletType.monero] = moneroNode;
|
2022-10-12 17:09:57 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (bitcoinElectrumServer != null) {
|
2023-05-17 14:43:23 +00:00
|
|
|
nodes[WalletType.bitcoin] = bitcoinElectrumServer;
|
2022-10-12 17:09:57 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (litecoinElectrumServer != null) {
|
2023-05-17 14:43:23 +00:00
|
|
|
nodes[WalletType.litecoin] = litecoinElectrumServer;
|
2022-10-12 17:09:57 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (havenNode != null) {
|
2023-05-17 14:43:23 +00:00
|
|
|
nodes[WalletType.haven] = havenNode;
|
2022-10-12 17:09:57 +00:00
|
|
|
}
|
2022-12-08 15:23:17 +00:00
|
|
|
|
2023-08-04 17:01:49 +00:00
|
|
|
if (ethereumNode != null) {
|
|
|
|
nodes[WalletType.ethereum] = ethereumNode;
|
|
|
|
}
|
|
|
|
|
2023-12-02 02:26:43 +00:00
|
|
|
if (polygonNode != null) {
|
|
|
|
nodes[WalletType.polygon] = polygonNode;
|
|
|
|
}
|
|
|
|
|
2023-10-12 22:50:16 +00:00
|
|
|
if (bitcoinCashElectrumServer != null) {
|
|
|
|
nodes[WalletType.bitcoinCash] = bitcoinCashElectrumServer;
|
|
|
|
}
|
|
|
|
|
2023-10-05 01:09:07 +00:00
|
|
|
if (nanoNode != null) {
|
|
|
|
nodes[WalletType.nano] = nanoNode;
|
|
|
|
}
|
2023-10-12 22:50:16 +00:00
|
|
|
|
2023-10-05 01:09:07 +00:00
|
|
|
if (nanoPowNode != null) {
|
|
|
|
powNodes[WalletType.nano] = nanoPowNode;
|
|
|
|
}
|
|
|
|
|
CW-555-Add-Solana-Wallet (#1272)
* chore: Create cw_solana package and clean up files
* feat: Add Solana Wallet - Create, Restore form seed, restore from Key, Restore from QR, Send, Receive, transaction history, spl tokens
* fix: Make transactions file specific to solana only for solana transactions
* chore: Revert inject app details script
* fix: Fix issue with node and switch current node to main beta instead of testnet
* fix: Fix merge conflicts and adjust migration version
* fix: Fetch spl token error
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
* fix: Diplay and activate spl tokens bug
* fix: Review and fixes
* fix: reverted formatting for cryptocurrency class
* fix: Review comments, split sending flow into signing and sending separately, fix issues
* fix: Revert throwing unimplenented error
* chore: Fix comment
* chore: Fix comment
* fix: Errors in flow
* Update provider_types.dart [skip ci]
* fix: Issues with solana wallet
* Update solana_wallet.dart [skip ci]
* fix: Review comments
* fix: Date time config
* fix: Revert bash script for app details
* fix: Error with balance, displaying fees, fixing sent or received identifier bug, displaying token symbol with token transaction item in transactions list
* fix: Issues with address validation when sending spl tokens and walletconnect initial setup
* fix: Issues with sending, fetching transactions history, almost wrapping up walletconnect
* fix: Adjust imports that would affect monerocom building successfully
* fix: Refine transaction direction and continue work on walletconnect
* feat: Display SPL token transfers in the transaction history and finally settle the transaction direction
* fix: Delay in transactions history dispaly, show native token transactions first, then process spl token transactions
* feat: Switch node and revert solana chain id to previous id
* fix: Remove print statement
* fix: Remove await for transactions, fetch all transaction histories instantly and adjust solana send success message
* chore: Code refactoring and streamlined wallet type check for solana send success message
* fix: Make timeout error for node silent and add spl token images
---------
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-02-23 13:39:19 +00:00
|
|
|
if (solanaNode != null) {
|
|
|
|
nodes[WalletType.solana] = solanaNode;
|
|
|
|
}
|
|
|
|
|
CW-525-Add-Tron-Wallet (#1327)
* chore: Initial setup for Tron Wallet
* feat: Create Tron Wallet base flow implemented, keys, address, receive, restore and proxy classes all setup
* feat: Display seed and key within the app
* feat: Activate restore from key and seed for Tron wallet
* feat: Add icon for tron wallet in wallet listing page
* feat: Activate display of receive address for tron
* feat: Fetch and display tron balance, sending transaction flow setup, fee limit calculation setup
* feat: Implement sending of native tron, setup sending of trc20 tokens
* chore: Rename function
* Delete lib/tron/tron.dart
* feat: Activate exchange for tron and its tokens, implement balance display for trc20 tokens and setup secrets configuration for tron
* feat: Implement tron token management, add, remove, delete, and get tokens in home settings view, also minor cleanup
* feat: Activate buy and sell for tron
* feat: Implement restore from QR, transactions history listing for both native transactions and trc20 transactions
* feat: Activate send all and do some minor cleanups
* chore: Fix some lint infos and warnings
* chore: Adjust configurations
* ci: Modify CI to create and add secrets for node
* fix: Fixes made while self reviewing the PR for this feature
* feat: Add guide for adding new wallet types, and add fixes to requested changes
* fix: Handle exceptions gracefully
* fix: Alternative for trc20 estimated fee
* fix: Fixes to display of amount and fee, removing clashes
* fix: Fee calculation WIP
* fix: Fix issue with handling of send all flow and display of amount and fee values before broadcasting transaction
* fix: PR review fixes and fix merge conflicts
* fix: Modify fetching assetOfTransaction [skip ci]
* fix: Move tron settings migration to 33
2024-05-03 18:00:05 +00:00
|
|
|
if (tronNode != null) {
|
|
|
|
nodes[WalletType.tron] = tronNode;
|
|
|
|
}
|
|
|
|
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 19:43:17 +00:00
|
|
|
if (wowneroNode != null) {
|
|
|
|
nodes[WalletType.wownero] = wowneroNode;
|
|
|
|
}
|
|
|
|
|
2023-11-17 18:35:46 +00:00
|
|
|
final savedSyncMode = SyncMode.all.firstWhere((element) {
|
2023-12-09 01:37:39 +00:00
|
|
|
return element.type.index == (sharedPreferences.getInt(PreferencesKey.syncModeKey) ?? 0);
|
2023-11-17 18:35:46 +00:00
|
|
|
});
|
|
|
|
final savedSyncAll = sharedPreferences.getBool(PreferencesKey.syncAllKey) ?? true;
|
2023-10-12 22:50:16 +00:00
|
|
|
|
2024-01-23 00:30:16 +00:00
|
|
|
// migrated to secure:
|
|
|
|
final timeOutDuration = await SecureKey.getInt(
|
|
|
|
secureStorage: secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.pinTimeOutDuration,
|
|
|
|
);
|
|
|
|
|
|
|
|
final pinCodeTimeOutDuration = timeOutDuration != null
|
|
|
|
? PinCodeRequiredDuration.deserialize(raw: timeOutDuration)
|
|
|
|
: defaultPinCodeTimeOutDuration;
|
|
|
|
|
|
|
|
final allowBiometricalAuthentication = await SecureKey.getBool(
|
|
|
|
secureStorage: secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
2024-01-30 17:57:47 +00:00
|
|
|
key: SecureKey.allowBiometricalAuthenticationKey,
|
2024-01-23 00:30:16 +00:00
|
|
|
) ??
|
|
|
|
false;
|
|
|
|
|
|
|
|
final selectedCake2FAPreset = Cake2FAPresetsOptions.deserialize(
|
|
|
|
raw: await SecureKey.getInt(
|
|
|
|
secureStorage: secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.selectedCake2FAPreset,
|
|
|
|
) ??
|
|
|
|
Cake2FAPresetsOptions.normal.raw);
|
|
|
|
|
|
|
|
final shouldRequireTOTP2FAForAccessingWallet = await SecureKey.getBool(
|
|
|
|
secureStorage: secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.shouldRequireTOTP2FAForAccessingWallet,
|
|
|
|
) ??
|
|
|
|
false;
|
|
|
|
final shouldRequireTOTP2FAForSendsToContact = await SecureKey.getBool(
|
|
|
|
secureStorage: secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.shouldRequireTOTP2FAForSendsToContact,
|
|
|
|
) ??
|
|
|
|
false;
|
|
|
|
final shouldRequireTOTP2FAForSendsToNonContact = await SecureKey.getBool(
|
|
|
|
secureStorage: secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.shouldRequireTOTP2FAForSendsToNonContact,
|
|
|
|
) ??
|
|
|
|
false;
|
|
|
|
final shouldRequireTOTP2FAForSendsToInternalWallets = await SecureKey.getBool(
|
|
|
|
secureStorage: secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.shouldRequireTOTP2FAForSendsToInternalWallets,
|
|
|
|
) ??
|
|
|
|
false;
|
|
|
|
final shouldRequireTOTP2FAForExchangesToInternalWallets = await SecureKey.getBool(
|
|
|
|
secureStorage: secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.shouldRequireTOTP2FAForExchangesToInternalWallets,
|
|
|
|
) ??
|
|
|
|
false;
|
|
|
|
final shouldRequireTOTP2FAForExchangesToExternalWallets = await SecureKey.getBool(
|
|
|
|
secureStorage: secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.shouldRequireTOTP2FAForExchangesToExternalWallets,
|
|
|
|
) ??
|
|
|
|
false;
|
|
|
|
final shouldRequireTOTP2FAForAddingContacts = await SecureKey.getBool(
|
|
|
|
secureStorage: secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.shouldRequireTOTP2FAForAddingContacts,
|
|
|
|
) ??
|
|
|
|
false;
|
|
|
|
final shouldRequireTOTP2FAForCreatingNewWallets = await SecureKey.getBool(
|
|
|
|
secureStorage: secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.shouldRequireTOTP2FAForCreatingNewWallets,
|
|
|
|
) ??
|
|
|
|
false;
|
|
|
|
final shouldRequireTOTP2FAForAllSecurityAndBackupSettings = await SecureKey.getBool(
|
|
|
|
secureStorage: secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.shouldRequireTOTP2FAForAllSecurityAndBackupSettings,
|
|
|
|
) ??
|
|
|
|
false;
|
|
|
|
final useTOTP2FA = await SecureKey.getBool(
|
|
|
|
secureStorage: secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.useTOTP2FA,
|
|
|
|
) ??
|
|
|
|
false;
|
|
|
|
final totpSecretKey = await SecureKey.getString(
|
|
|
|
secureStorage: secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
2024-01-27 03:08:53 +00:00
|
|
|
key: SecureKey.totpSecretKey,
|
2024-01-23 00:30:16 +00:00
|
|
|
) ??
|
|
|
|
'';
|
|
|
|
|
2023-12-02 02:26:43 +00:00
|
|
|
return SettingsStore(
|
2024-04-12 12:36:42 +00:00
|
|
|
secureStorage: secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
initialShouldShowMarketPlaceInDashboard: shouldShowMarketPlaceInDashboard,
|
|
|
|
nodes: nodes,
|
|
|
|
powNodes: powNodes,
|
|
|
|
appVersion: packageInfo.version,
|
|
|
|
deviceName: deviceName,
|
|
|
|
isBitcoinBuyEnabled: isBitcoinBuyEnabled,
|
|
|
|
initialFiatCurrency: currentFiatCurrency,
|
2024-11-07 05:50:48 +00:00
|
|
|
initialCakePayCountry: currentCakePayCountry,
|
2024-04-12 12:36:42 +00:00
|
|
|
initialBalanceDisplayMode: currentBalanceDisplayMode,
|
|
|
|
initialSaveRecipientAddress: shouldSaveRecipientAddress,
|
|
|
|
initialAutoGenerateSubaddressStatus: autoGenerateSubaddressStatus,
|
|
|
|
initialMoneroSeedType: moneroSeedType,
|
2024-08-26 17:06:54 +00:00
|
|
|
initialBitcoinSeedType: bitcoinSeedType,
|
CW-580: BIP39 Wallets Shared Seed Implementation: "One Seed - Multiple Wallets" (#1307)
* feat: Implement creating new BIP39 wallet with same seed used for other owned BIP39 wallets
* feat: Use same seed for BIP39 Wallets
* Update pre_existing_seeds_page.dart
* Feat: BIP39 Same seed wallet creation using the Common Parent Wallet Strategy
* feat: Finalize implementing preexisting seeds
* feat: Implement shared bip39 wallet seed for Bitcoin wallet type
* feat: Implement shared bip39 wallet seed for Litecoin wallet type
* feat: Implement shared bip39 wallet seed for BitcoinCash wallet type
* feat: Implement shared bip39 wallet seed for Nano wallet type, although disabled entry for now
* fix: Remove non bip39 seed wallet type from listing
* feat: Implement grouped and single wallets lists in wallets listing page and implement editing and saving group names
* fix: Issue where the ontap always references the leadwallet, also make shared seed wallets section header only display when the multi wallet groups list is not empty
* fix: Add translation and adjust the way the groups display
* feat: Activate bip39 as an option for creating Nano wallet types
* fix: Handle edgecase with creating new wallet with group address, handle case where only bip39 derivation type is allowed with child wallets, activate nano wallet type for shared seed
* chore: Modify the UI to fit adjustment made on figma
* fix: Disposed box triggering error in hive and causing wallet list view to display error
* fix: Switch wallet groups title in wallets list page and also fix issue with renaming groups
* Update lib/reactions/bip39_wallet_utils.dart [skip ci]
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* Update lib/router.dart [skip ci]
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* fix: Review fixes: Combine New Wallet Page Type arguments into a single model
* fix: Review fixes: Add failure guard when fetching mnemonic for selected wallet in pre-existing wallets page
* fix: Review fixes - Add loading indicator when mnemonic is being selected for wallet
* fix: Review fixes - Modify variable name to avoid clashes
* fix: Review fixes - Access WalletManager through dependency injection instead of service location
* fix: Review fixes - Add testnet to convertWalletInfoToWalletlistItem function, and adjust according where used
* fix: Review fixes - Add walletPassword to nano, tron and wownero wallets and confirm it is properly handled as it should be
* fix: Remove leadWallet, modify filtering flow to reflect this and not depend on leadWallet, and adjust privacy settings
* fix: Review Fixes - Modify restore flow to reflect current nature of bip39 as default for majority of wallet types
* fix: QA Fixes - Modify preexisting page to display wallet group names if set, and display them in incremental order if not set
* fix: Add wallet group description page and rename pre-existingseeds page to wallet group display page
* fix: Product Fix - Rename pre-existing seeds file name to wallet group display filename
* fix: Product fix - Separate multiwallets groups from single wallets and display separately
* fix - Product Fix - Add empty state for wallet group listing when creating a new wallet, adjust CTAs across buttons relating to the flow also
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-09-20 18:25:08 +00:00
|
|
|
initialNanoSeedType: nanoSeedType,
|
2024-04-12 12:36:42 +00:00
|
|
|
initialAppSecure: isAppSecure,
|
2024-11-09 19:00:56 +00:00
|
|
|
initialDisableTrade: disableTradeOption,
|
2024-04-12 12:36:42 +00:00
|
|
|
initialDisableBulletin: disableBulletin,
|
|
|
|
initialWalletListOrder: walletListOrder,
|
|
|
|
initialWalletListAscending: walletListAscending,
|
2024-11-07 01:26:14 +00:00
|
|
|
initialContactListOrder: contactListOrder,
|
|
|
|
initialContactListAscending: contactListAscending,
|
2024-04-12 12:36:42 +00:00
|
|
|
initialFiatMode: currentFiatApiMode,
|
|
|
|
initialAllowBiometricalAuthentication: allowBiometricalAuthentication,
|
|
|
|
initialCake2FAPresetOptions: selectedCake2FAPreset,
|
|
|
|
initialUseTOTP2FA: useTOTP2FA,
|
|
|
|
initialTotpSecretKey: totpSecretKey,
|
|
|
|
initialFailedTokenTrial: tokenTrialNumber,
|
|
|
|
initialExchangeStatus: exchangeStatus,
|
|
|
|
initialTheme: savedTheme,
|
|
|
|
actionlistDisplayMode: actionListDisplayMode,
|
|
|
|
initialPinLength: pinLength,
|
|
|
|
pinTimeOutDuration: pinCodeTimeOutDuration,
|
|
|
|
seedPhraseLength: seedPhraseWordCount,
|
|
|
|
initialLanguageCode: savedLanguageCode,
|
|
|
|
sortBalanceBy: sortBalanceBy,
|
|
|
|
pinNativeTokenAtTop: pinNativeTokenAtTop,
|
|
|
|
useEtherscan: useEtherscan,
|
|
|
|
usePolygonScan: usePolygonScan,
|
2024-05-08 14:26:57 +00:00
|
|
|
useTronGrid: useTronGrid,
|
2024-08-26 17:07:25 +00:00
|
|
|
useMempoolFeeAPI: useMempoolFeeAPI,
|
2024-04-12 12:36:42 +00:00
|
|
|
defaultNanoRep: defaultNanoRep,
|
|
|
|
defaultBananoRep: defaultBananoRep,
|
|
|
|
lookupsTwitter: lookupsTwitter,
|
|
|
|
lookupsMastodon: lookupsMastodon,
|
|
|
|
lookupsYatService: lookupsYatService,
|
|
|
|
lookupsUnstoppableDomains: lookupsUnstoppableDomains,
|
|
|
|
lookupsOpenAlias: lookupsOpenAlias,
|
|
|
|
lookupsENS: lookupsENS,
|
|
|
|
customBitcoinFeeRate: customBitcoinFeeRate,
|
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base
* feat: allow scanning elect-rs using get_tweaks
* feat: scanning and adding addresses working with getTweaks, add btc SP address type
* chore: pubspec.lock
* chore: pubspec.lock
* fix: scan when switching, fix multiple unspents in same tx
* fix: initial scan
* fix: initial scan
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* fix: nodes & build
* fix: send all with multiple outs
* refactor: unchanged file
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* fix: scan fixes, add date, allow sending while scanning
* feat: sync fixes, sp settings
* feat: fix resyncing
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* fix: double balance
* feat: node domain
* fix: menu name
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* fix: status toggle
* minor enhancement
* Monero.com fixes
* update sp_scanner to include windows and linux
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 14:43:48 +00:00
|
|
|
silentPaymentsCardDisplay: silentPaymentsCardDisplay,
|
|
|
|
silentPaymentsAlwaysScan: silentPaymentsAlwaysScan,
|
litecoin mweb support (#1455)
* Fix stub creation
* Generate MWEB addresses
* Fix mweb address derivation
* Use camel-case
* Show utxos in tx list
* A few fixes
* Add spent processing
* Update balance
* Balance fixes
* Update address records
* Get rid of debounce hack
* Get sending up to the confirmation box
* Fee estimation
* Stop the daemon if plugin is unloaded
* Normal fee for non-mweb txns
* Fix fee estimation for send all
* Don't hash mweb addresses
* More fee fixes
* Broadcast mweb
* Remove test files
* One more
* Confirm sent txns
* Couple of fixes
* Resign inputs after mweb create
* Some more fixes
* Update balance after sending
* Correctly update address records
* Update confs
* [skip ci] updates
* [skip ci] add dep overrides
* working
* small fix
* merge fixes [skip ci]
* merge fixes [skip ci]
* [skip ci] minor fixes
* silent payment fixes [skip ci]
* updates [skip ci]
* save [skip ci]
* use mwebutxos box
* [skip ci] lots of fixes, still testing
* add rescan from height feature and test workflow build
* install go
* use sudo
* correct package name
* move building mweb higher for faster testing
* install fixes
* install later version of go
* go fixes
* testing
* testing
* testing
* testing
* testing
* should workgit add .github/workflows/pr_test_build.yml
* ???
* ??? pt.2
* should work, for real this time
* fix tx history not persisting + update build_mwebd script
* updates
* fix some rescan and address gen issues
* save [skip ci]
* fix unconfirmed balance not updating when receiving
* unspent coins / coin control fixes
* coin control fixes
* address balance and txCount fixes, try/catch electrum call
* fix txCount for addresses
* save [skip ci]
* potential fixes
* minor fix
* minor fix - 2
* sync status fixes, potential fix for background state issue
* workflow and script updates
* updates
* expirimental optimization
* [skip ci] minor enhancements
* workflow and script fixes
* workflow minor cleanup [skip ci]
* minor code cleanup & friendlier error message on failed tx's
* balance when sending fix
* experimental
* more experiments
* save
* updates
* coin control edge cases
* remove neutrino.db if no litecoin wallets left after deleting
* update translations
* updates
* minor fix
* [skip ci] update translations + minor fixes
* state fixes
* configure fix
* ui updates
* translation fixes
* [skip ci] addressbook updates
* fix popup
* fix popup2
* fix litecoin address book
* fix ios mwebd build script
* fix for building monero.com
* minor fix
* uncomment fix for state issues
* potential mweb sync fix (ios)
* remove print [skip ci]
* electrum stream potential fix
* fix ios build issues [skip ci]
* connection reliability updates, update kotlin code to match swift code, minor electrum error handling
* dep fixes
* minor fix
* more merge fixes
* bitcoin_flutter removal fixes
* [skip ci] fix always scan setting, swift updates
* updates
* fixes
* small fix
* small fix
* fix
* dart:convert != package:convert
* change address fixes
* update bitcoin_base to fix mweb address program checking
* fix ios xcode project [skip ci]
* updates
* more fixes
* more fixes
* ensure we don't initialize mweb until we really have to
* fix regression
* improve mweb reliability
* [skip ci] wip adress generation
* wip
* wip
* [skip ci] wip
* updates [skip ci]
* ios fixes
* fix workflows + ios fix
* test old mweb version
* update go version and mwebd hash
* review updates pt.1
* Update cw_bitcoin/lib/litecoin_wallet.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* remove non-litecoin address types regex [skip ci]
* more minor fixes
* remove duplicate [skip ci]
* Update lib/store/settings_store.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* script updates, swap params on createLitecoinWalletService
* topup fix
* [skip ci] wip
* [skip ci] testing
* [skip ci] file didn't get saved
* more address generation reliability fixes
* [skip ci] minor
* minor code cleanup
* hopefully prevents send issue
* [skip ci] wip address changes
* [skip ci] save
* save mweb addresses, auto-restart sync process if it gets stuck [skip ci]
* address generation issues mostly resolved
* more performance fixes
* [skip ci]
* this should maybe be refactored, pt.1
* separate mweb balances, pt.2
* [skip ci] save
* add translations [skip ci]
* fix sending with mweb amounts
* works for simple mweb-mweb case, further testing needed
* found an edge case
* [skip ci] make failed broadcast error message less serious
* minor
* capture all grpc errors and much better error handling overall
* [skip ci] minor
* prevent transactions with < 6 confirmations from being used + hide mweb balances if mweb is off
* fix
* merge fixes pt.1 [skip ci]
* fix mweb tags
* fix
* [skip ci] fix tag spacing
* fix transaction history not showing up
* fix mweb crash on non-fully deleted mweb cache, sync status ETA, other connection fixes
* [skip ci] minor code cleanup
* [skip ci] minor code cleanup
* additional cleanup
* silent payments eta fixes and updates
* revert sync eta changes into separate pr
* [skip ci] minor
* [skip ci] minor
* revert sync status title
* review fixes, additional cleanup
* [skip ci] minor
* [skip ci] minor
* [skip ci] minor
* trigger build
* review fixes, pt.2
* check if still processing utxos before updating sync status [skip ci]
* [skip ci] minor
* balance fix
* minor
* minor
* [skip ci] minor
* [skip ci] fix test net btc
* don't use mwebd for non-mweb tx's
* [skip ci] minor cleanup
* don't show all 1000+ mweb addresses on receive page
* minor cleanup + additional logging
---------
Co-authored-by: Hector Chu <hectorchu@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
2024-09-28 02:22:25 +00:00
|
|
|
mwebAlwaysScan: mwebAlwaysScan,
|
|
|
|
mwebCardDisplay: mwebCardDisplay,
|
|
|
|
mwebEnabled: mwebEnabled,
|
2024-11-07 02:57:36 +00:00
|
|
|
mwebNodeUri: mwebNodeUri,
|
litecoin mweb support (#1455)
* Fix stub creation
* Generate MWEB addresses
* Fix mweb address derivation
* Use camel-case
* Show utxos in tx list
* A few fixes
* Add spent processing
* Update balance
* Balance fixes
* Update address records
* Get rid of debounce hack
* Get sending up to the confirmation box
* Fee estimation
* Stop the daemon if plugin is unloaded
* Normal fee for non-mweb txns
* Fix fee estimation for send all
* Don't hash mweb addresses
* More fee fixes
* Broadcast mweb
* Remove test files
* One more
* Confirm sent txns
* Couple of fixes
* Resign inputs after mweb create
* Some more fixes
* Update balance after sending
* Correctly update address records
* Update confs
* [skip ci] updates
* [skip ci] add dep overrides
* working
* small fix
* merge fixes [skip ci]
* merge fixes [skip ci]
* [skip ci] minor fixes
* silent payment fixes [skip ci]
* updates [skip ci]
* save [skip ci]
* use mwebutxos box
* [skip ci] lots of fixes, still testing
* add rescan from height feature and test workflow build
* install go
* use sudo
* correct package name
* move building mweb higher for faster testing
* install fixes
* install later version of go
* go fixes
* testing
* testing
* testing
* testing
* testing
* should workgit add .github/workflows/pr_test_build.yml
* ???
* ??? pt.2
* should work, for real this time
* fix tx history not persisting + update build_mwebd script
* updates
* fix some rescan and address gen issues
* save [skip ci]
* fix unconfirmed balance not updating when receiving
* unspent coins / coin control fixes
* coin control fixes
* address balance and txCount fixes, try/catch electrum call
* fix txCount for addresses
* save [skip ci]
* potential fixes
* minor fix
* minor fix - 2
* sync status fixes, potential fix for background state issue
* workflow and script updates
* updates
* expirimental optimization
* [skip ci] minor enhancements
* workflow and script fixes
* workflow minor cleanup [skip ci]
* minor code cleanup & friendlier error message on failed tx's
* balance when sending fix
* experimental
* more experiments
* save
* updates
* coin control edge cases
* remove neutrino.db if no litecoin wallets left after deleting
* update translations
* updates
* minor fix
* [skip ci] update translations + minor fixes
* state fixes
* configure fix
* ui updates
* translation fixes
* [skip ci] addressbook updates
* fix popup
* fix popup2
* fix litecoin address book
* fix ios mwebd build script
* fix for building monero.com
* minor fix
* uncomment fix for state issues
* potential mweb sync fix (ios)
* remove print [skip ci]
* electrum stream potential fix
* fix ios build issues [skip ci]
* connection reliability updates, update kotlin code to match swift code, minor electrum error handling
* dep fixes
* minor fix
* more merge fixes
* bitcoin_flutter removal fixes
* [skip ci] fix always scan setting, swift updates
* updates
* fixes
* small fix
* small fix
* fix
* dart:convert != package:convert
* change address fixes
* update bitcoin_base to fix mweb address program checking
* fix ios xcode project [skip ci]
* updates
* more fixes
* more fixes
* ensure we don't initialize mweb until we really have to
* fix regression
* improve mweb reliability
* [skip ci] wip adress generation
* wip
* wip
* [skip ci] wip
* updates [skip ci]
* ios fixes
* fix workflows + ios fix
* test old mweb version
* update go version and mwebd hash
* review updates pt.1
* Update cw_bitcoin/lib/litecoin_wallet.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* remove non-litecoin address types regex [skip ci]
* more minor fixes
* remove duplicate [skip ci]
* Update lib/store/settings_store.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* script updates, swap params on createLitecoinWalletService
* topup fix
* [skip ci] wip
* [skip ci] testing
* [skip ci] file didn't get saved
* more address generation reliability fixes
* [skip ci] minor
* minor code cleanup
* hopefully prevents send issue
* [skip ci] wip address changes
* [skip ci] save
* save mweb addresses, auto-restart sync process if it gets stuck [skip ci]
* address generation issues mostly resolved
* more performance fixes
* [skip ci]
* this should maybe be refactored, pt.1
* separate mweb balances, pt.2
* [skip ci] save
* add translations [skip ci]
* fix sending with mweb amounts
* works for simple mweb-mweb case, further testing needed
* found an edge case
* [skip ci] make failed broadcast error message less serious
* minor
* capture all grpc errors and much better error handling overall
* [skip ci] minor
* prevent transactions with < 6 confirmations from being used + hide mweb balances if mweb is off
* fix
* merge fixes pt.1 [skip ci]
* fix mweb tags
* fix
* [skip ci] fix tag spacing
* fix transaction history not showing up
* fix mweb crash on non-fully deleted mweb cache, sync status ETA, other connection fixes
* [skip ci] minor code cleanup
* [skip ci] minor code cleanup
* additional cleanup
* silent payments eta fixes and updates
* revert sync eta changes into separate pr
* [skip ci] minor
* [skip ci] minor
* revert sync status title
* review fixes, additional cleanup
* [skip ci] minor
* [skip ci] minor
* [skip ci] minor
* trigger build
* review fixes, pt.2
* check if still processing utxos before updating sync status [skip ci]
* [skip ci] minor
* balance fix
* minor
* minor
* [skip ci] minor
* [skip ci] fix test net btc
* don't use mwebd for non-mweb tx's
* [skip ci] minor cleanup
* don't show all 1000+ mweb addresses on receive page
* minor cleanup + additional logging
---------
Co-authored-by: Hector Chu <hectorchu@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
2024-09-28 02:22:25 +00:00
|
|
|
hasEnabledMwebBefore: hasEnabledMwebBefore,
|
2024-04-12 12:36:42 +00:00
|
|
|
initialMoneroTransactionPriority: moneroTransactionPriority,
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 19:43:17 +00:00
|
|
|
initialWowneroTransactionPriority: wowneroTransactionPriority,
|
2024-04-12 12:36:42 +00:00
|
|
|
initialBitcoinTransactionPriority: bitcoinTransactionPriority,
|
|
|
|
initialHavenTransactionPriority: havenTransactionPriority,
|
|
|
|
initialLitecoinTransactionPriority: litecoinTransactionPriority,
|
|
|
|
initialBitcoinCashTransactionPriority: bitcoinCashTransactionPriority,
|
|
|
|
initialShouldRequireTOTP2FAForAccessingWallet: shouldRequireTOTP2FAForAccessingWallet,
|
|
|
|
initialShouldRequireTOTP2FAForSendsToContact: shouldRequireTOTP2FAForSendsToContact,
|
|
|
|
initialShouldRequireTOTP2FAForSendsToNonContact: shouldRequireTOTP2FAForSendsToNonContact,
|
|
|
|
initialShouldRequireTOTP2FAForSendsToInternalWallets:
|
|
|
|
shouldRequireTOTP2FAForSendsToInternalWallets,
|
|
|
|
initialShouldRequireTOTP2FAForExchangesToInternalWallets:
|
|
|
|
shouldRequireTOTP2FAForExchangesToInternalWallets,
|
|
|
|
initialShouldRequireTOTP2FAForExchangesToExternalWallets:
|
|
|
|
shouldRequireTOTP2FAForExchangesToExternalWallets,
|
|
|
|
initialShouldRequireTOTP2FAForAddingContacts: shouldRequireTOTP2FAForAddingContacts,
|
|
|
|
initialShouldRequireTOTP2FAForCreatingNewWallets: shouldRequireTOTP2FAForCreatingNewWallets,
|
|
|
|
initialShouldRequireTOTP2FAForAllSecurityAndBackupSettings:
|
|
|
|
shouldRequireTOTP2FAForAllSecurityAndBackupSettings,
|
|
|
|
initialEthereumTransactionPriority: ethereumTransactionPriority,
|
|
|
|
initialPolygonTransactionPriority: polygonTransactionPriority,
|
|
|
|
backgroundTasks: backgroundTasks,
|
|
|
|
initialSyncMode: savedSyncMode,
|
|
|
|
initialSyncAll: savedSyncAll,
|
|
|
|
shouldShowYatPopup: shouldShowYatPopup,
|
|
|
|
shouldShowRepWarning: shouldShowRepWarning,
|
|
|
|
);
|
2023-12-02 02:26:43 +00:00
|
|
|
}
|
2020-09-21 11:50:26 +00:00
|
|
|
|
2022-12-09 13:57:45 +00:00
|
|
|
Future<void> reload({required Box<Node> nodeSource}) async {
|
|
|
|
final sharedPreferences = await getIt.getAsync<SharedPreferences>();
|
|
|
|
|
|
|
|
fiatCurrency = FiatCurrency.deserialize(
|
|
|
|
raw: sharedPreferences.getString(PreferencesKey.currentFiatCurrencyKey)!);
|
|
|
|
|
|
|
|
priority[WalletType.monero] = monero?.deserializeMoneroTransactionPriority(
|
2023-11-17 18:35:46 +00:00
|
|
|
raw: sharedPreferences.getInt(PreferencesKey.moneroTransactionPriority)!) ??
|
2022-12-09 13:57:45 +00:00
|
|
|
priority[WalletType.monero]!;
|
2022-12-09 18:36:51 +00:00
|
|
|
|
2024-07-21 00:46:43 +00:00
|
|
|
if (wownero != null &&
|
|
|
|
sharedPreferences.getInt(PreferencesKey.wowneroTransactionPriority) != null) {
|
|
|
|
priority[WalletType.wownero] = wownero!.deserializeWowneroTransactionPriority(
|
|
|
|
raw: sharedPreferences.getInt(PreferencesKey.wowneroTransactionPriority)!);
|
|
|
|
}
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 19:43:17 +00:00
|
|
|
|
2024-01-26 22:51:21 +00:00
|
|
|
if (bitcoin != null &&
|
|
|
|
sharedPreferences.getInt(PreferencesKey.bitcoinTransactionPriority) != null) {
|
|
|
|
priority[WalletType.bitcoin] = bitcoin!.deserializeBitcoinTransactionPriority(
|
|
|
|
sharedPreferences.getInt(PreferencesKey.bitcoinTransactionPriority)!);
|
2022-12-09 18:36:51 +00:00
|
|
|
}
|
2024-01-26 22:51:21 +00:00
|
|
|
|
|
|
|
if (monero != null &&
|
|
|
|
sharedPreferences.getInt(PreferencesKey.havenTransactionPriority) != null) {
|
|
|
|
priority[WalletType.haven] = monero!.deserializeMoneroTransactionPriority(
|
|
|
|
raw: sharedPreferences.getInt(PreferencesKey.havenTransactionPriority)!);
|
2022-12-09 18:36:51 +00:00
|
|
|
}
|
2024-01-26 22:51:21 +00:00
|
|
|
if (bitcoin != null &&
|
|
|
|
sharedPreferences.getInt(PreferencesKey.litecoinTransactionPriority) != null) {
|
|
|
|
priority[WalletType.litecoin] = bitcoin!.deserializeLitecoinTransactionPriority(
|
|
|
|
sharedPreferences.getInt(PreferencesKey.litecoinTransactionPriority)!);
|
2023-08-04 17:01:49 +00:00
|
|
|
}
|
2024-01-26 22:51:21 +00:00
|
|
|
if (ethereum != null &&
|
|
|
|
sharedPreferences.getInt(PreferencesKey.ethereumTransactionPriority) != null) {
|
|
|
|
priority[WalletType.ethereum] = ethereum!.deserializeEthereumTransactionPriority(
|
|
|
|
sharedPreferences.getInt(PreferencesKey.ethereumTransactionPriority)!);
|
2023-12-02 02:26:43 +00:00
|
|
|
}
|
2024-01-26 22:51:21 +00:00
|
|
|
if (polygon != null &&
|
|
|
|
sharedPreferences.getInt(PreferencesKey.polygonTransactionPriority) != null) {
|
|
|
|
priority[WalletType.polygon] = polygon!.deserializePolygonTransactionPriority(
|
|
|
|
sharedPreferences.getInt(PreferencesKey.polygonTransactionPriority)!);
|
|
|
|
}
|
|
|
|
if (bitcoinCash != null &&
|
|
|
|
sharedPreferences.getInt(PreferencesKey.bitcoinCashTransactionPriority) != null) {
|
|
|
|
priority[WalletType.bitcoinCash] = bitcoinCash!.deserializeBitcoinCashTransactionPriority(
|
|
|
|
sharedPreferences.getInt(PreferencesKey.bitcoinCashTransactionPriority)!);
|
2023-10-12 22:50:16 +00:00
|
|
|
}
|
2022-12-09 13:57:45 +00:00
|
|
|
|
2023-08-29 16:11:51 +00:00
|
|
|
final generateSubaddresses =
|
2023-11-17 18:35:46 +00:00
|
|
|
sharedPreferences.getInt(PreferencesKey.autoGenerateSubaddressStatusKey);
|
2023-08-29 16:11:51 +00:00
|
|
|
|
|
|
|
autoGenerateSubaddressStatus = generateSubaddresses != null
|
|
|
|
? AutoGenerateSubaddressStatus.deserialize(raw: generateSubaddresses)
|
|
|
|
: defaultAutoGenerateSubaddressStatus;
|
|
|
|
|
2023-11-25 00:37:12 +00:00
|
|
|
final _moneroSeedType = sharedPreferences.getInt(PreferencesKey.moneroSeedType);
|
|
|
|
|
|
|
|
moneroSeedType = _moneroSeedType != null
|
2024-08-26 17:06:54 +00:00
|
|
|
? MoneroSeedType.deserialize(raw: _moneroSeedType)
|
2023-11-25 00:37:12 +00:00
|
|
|
: defaultMoneroSeedType;
|
|
|
|
|
2024-08-26 17:06:54 +00:00
|
|
|
final _bitcoinSeedType = sharedPreferences.getInt(PreferencesKey.bitcoinSeedType);
|
|
|
|
|
|
|
|
bitcoinSeedType = _bitcoinSeedType != null
|
|
|
|
? BitcoinSeedType.deserialize(raw: _bitcoinSeedType)
|
|
|
|
: defaultBitcoinSeedType;
|
|
|
|
|
CW-580: BIP39 Wallets Shared Seed Implementation: "One Seed - Multiple Wallets" (#1307)
* feat: Implement creating new BIP39 wallet with same seed used for other owned BIP39 wallets
* feat: Use same seed for BIP39 Wallets
* Update pre_existing_seeds_page.dart
* Feat: BIP39 Same seed wallet creation using the Common Parent Wallet Strategy
* feat: Finalize implementing preexisting seeds
* feat: Implement shared bip39 wallet seed for Bitcoin wallet type
* feat: Implement shared bip39 wallet seed for Litecoin wallet type
* feat: Implement shared bip39 wallet seed for BitcoinCash wallet type
* feat: Implement shared bip39 wallet seed for Nano wallet type, although disabled entry for now
* fix: Remove non bip39 seed wallet type from listing
* feat: Implement grouped and single wallets lists in wallets listing page and implement editing and saving group names
* fix: Issue where the ontap always references the leadwallet, also make shared seed wallets section header only display when the multi wallet groups list is not empty
* fix: Add translation and adjust the way the groups display
* feat: Activate bip39 as an option for creating Nano wallet types
* fix: Handle edgecase with creating new wallet with group address, handle case where only bip39 derivation type is allowed with child wallets, activate nano wallet type for shared seed
* chore: Modify the UI to fit adjustment made on figma
* fix: Disposed box triggering error in hive and causing wallet list view to display error
* fix: Switch wallet groups title in wallets list page and also fix issue with renaming groups
* Update lib/reactions/bip39_wallet_utils.dart [skip ci]
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* Update lib/router.dart [skip ci]
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* fix: Review fixes: Combine New Wallet Page Type arguments into a single model
* fix: Review fixes: Add failure guard when fetching mnemonic for selected wallet in pre-existing wallets page
* fix: Review fixes - Add loading indicator when mnemonic is being selected for wallet
* fix: Review fixes - Modify variable name to avoid clashes
* fix: Review fixes - Access WalletManager through dependency injection instead of service location
* fix: Review fixes - Add testnet to convertWalletInfoToWalletlistItem function, and adjust according where used
* fix: Review fixes - Add walletPassword to nano, tron and wownero wallets and confirm it is properly handled as it should be
* fix: Remove leadWallet, modify filtering flow to reflect this and not depend on leadWallet, and adjust privacy settings
* fix: Review Fixes - Modify restore flow to reflect current nature of bip39 as default for majority of wallet types
* fix: QA Fixes - Modify preexisting page to display wallet group names if set, and display them in incremental order if not set
* fix: Add wallet group description page and rename pre-existingseeds page to wallet group display page
* fix: Product Fix - Rename pre-existing seeds file name to wallet group display filename
* fix: Product fix - Separate multiwallets groups from single wallets and display separately
* fix - Product Fix - Add empty state for wallet group listing when creating a new wallet, adjust CTAs across buttons relating to the flow also
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-09-20 18:25:08 +00:00
|
|
|
final _nanoSeedType = sharedPreferences.getInt(PreferencesKey.nanoSeedType);
|
|
|
|
|
|
|
|
nanoSeedType =
|
|
|
|
_nanoSeedType != null ? NanoSeedType.deserialize(raw: _nanoSeedType) : defaultNanoSeedType;
|
|
|
|
|
2022-12-09 13:57:45 +00:00
|
|
|
balanceDisplayMode = BalanceDisplayMode.deserialize(
|
2023-05-17 14:43:23 +00:00
|
|
|
raw: sharedPreferences.getInt(PreferencesKey.currentBalanceDisplayModeKey)!);
|
2022-12-09 13:57:45 +00:00
|
|
|
shouldSaveRecipientAddress =
|
2023-05-17 14:43:23 +00:00
|
|
|
sharedPreferences.getBool(PreferencesKey.shouldSaveRecipientAddressKey) ??
|
|
|
|
shouldSaveRecipientAddress;
|
|
|
|
numberOfFailedTokenTrials =
|
|
|
|
sharedPreferences.getInt(PreferencesKey.failedTotpTokenTrials) ?? numberOfFailedTokenTrials;
|
2023-07-11 16:07:46 +00:00
|
|
|
isAppSecure = sharedPreferences.getBool(PreferencesKey.isAppSecureKey) ?? isAppSecure;
|
2024-11-09 19:00:56 +00:00
|
|
|
disableTradeOption = sharedPreferences.getBool(PreferencesKey.disableTradeOption) ?? disableTradeOption;
|
2024-04-08 14:54:58 +00:00
|
|
|
disableBulletin =
|
|
|
|
sharedPreferences.getBool(PreferencesKey.disableBulletinKey) ?? disableBulletin;
|
2023-12-13 21:58:43 +00:00
|
|
|
walletListOrder =
|
2024-11-07 01:26:14 +00:00
|
|
|
FilterListOrderType.values[sharedPreferences.getInt(PreferencesKey.walletListOrder) ?? 0];
|
|
|
|
contactListOrder =
|
|
|
|
FilterListOrderType.values[sharedPreferences.getInt(PreferencesKey.contactListOrder) ?? 0];
|
2023-12-13 21:58:43 +00:00
|
|
|
walletListAscending = sharedPreferences.getBool(PreferencesKey.walletListAscending) ?? true;
|
2024-11-07 01:26:14 +00:00
|
|
|
contactListAscending = sharedPreferences.getBool(PreferencesKey.contactListAscending) ?? true;
|
2023-04-16 13:45:35 +00:00
|
|
|
shouldShowMarketPlaceInDashboard =
|
|
|
|
sharedPreferences.getBool(PreferencesKey.shouldShowMarketPlaceInDashboard) ??
|
|
|
|
shouldShowMarketPlaceInDashboard;
|
2023-03-01 21:44:15 +00:00
|
|
|
exchangeStatus = ExchangeApiMode.deserialize(
|
2023-05-17 14:43:23 +00:00
|
|
|
raw: sharedPreferences.getInt(PreferencesKey.exchangeStatusKey) ??
|
|
|
|
ExchangeApiMode.enabled.raw);
|
2022-12-09 13:57:45 +00:00
|
|
|
currentTheme = ThemeList.deserialize(
|
2024-03-04 17:32:10 +00:00
|
|
|
raw: sharedPreferences.getInt(PreferencesKey.currentTheme) ??
|
|
|
|
(isMoneroOnly ? ThemeList.moneroDarkTheme.raw : ThemeList.brightTheme.raw));
|
2022-12-09 13:57:45 +00:00
|
|
|
actionlistDisplayMode = ObservableList<ActionListDisplayMode>();
|
|
|
|
actionlistDisplayMode.addAll(deserializeActionlistDisplayModes(
|
2023-05-17 14:43:23 +00:00
|
|
|
sharedPreferences.getInt(PreferencesKey.displayActionListModeKey) ?? defaultActionsMode));
|
2022-12-09 13:57:45 +00:00
|
|
|
var pinLength = sharedPreferences.getInt(PreferencesKey.currentPinLength);
|
|
|
|
// If no value
|
|
|
|
if (pinLength == null || pinLength == 0) {
|
|
|
|
pinLength = pinCodeLength;
|
2022-12-07 14:41:04 +00:00
|
|
|
}
|
2022-12-09 13:57:45 +00:00
|
|
|
pinCodeLength = pinLength;
|
2022-12-07 14:41:04 +00:00
|
|
|
|
2022-12-09 13:57:45 +00:00
|
|
|
languageCode = sharedPreferences.getString(PreferencesKey.currentLanguageCode) ?? languageCode;
|
2023-05-17 14:43:23 +00:00
|
|
|
shouldShowYatPopup =
|
|
|
|
sharedPreferences.getBool(PreferencesKey.shouldShowYatPopup) ?? shouldShowYatPopup;
|
2024-04-12 12:36:42 +00:00
|
|
|
shouldShowRepWarning =
|
|
|
|
sharedPreferences.getBool(PreferencesKey.shouldShowRepWarning) ?? shouldShowRepWarning;
|
2023-08-04 17:01:49 +00:00
|
|
|
sortBalanceBy = SortBalanceBy
|
|
|
|
.values[sharedPreferences.getInt(PreferencesKey.sortBalanceBy) ?? sortBalanceBy.index];
|
|
|
|
pinNativeTokenAtTop = sharedPreferences.getBool(PreferencesKey.pinNativeTokenAtTop) ?? true;
|
|
|
|
useEtherscan = sharedPreferences.getBool(PreferencesKey.useEtherscan) ?? true;
|
2023-12-02 02:26:43 +00:00
|
|
|
usePolygonScan = sharedPreferences.getBool(PreferencesKey.usePolygonScan) ?? true;
|
2024-05-08 14:26:57 +00:00
|
|
|
useTronGrid = sharedPreferences.getBool(PreferencesKey.useTronGrid) ?? true;
|
2024-08-26 17:07:25 +00:00
|
|
|
useMempoolFeeAPI = sharedPreferences.getBool(PreferencesKey.useMempoolFeeAPI) ?? true;
|
2023-11-17 18:35:46 +00:00
|
|
|
defaultNanoRep = sharedPreferences.getString(PreferencesKey.defaultNanoRep) ?? "";
|
|
|
|
defaultBananoRep = sharedPreferences.getString(PreferencesKey.defaultBananoRep) ?? "";
|
2023-11-03 19:23:11 +00:00
|
|
|
lookupsTwitter = sharedPreferences.getBool(PreferencesKey.lookupsTwitter) ?? true;
|
|
|
|
lookupsMastodon = sharedPreferences.getBool(PreferencesKey.lookupsMastodon) ?? true;
|
|
|
|
lookupsYatService = sharedPreferences.getBool(PreferencesKey.lookupsYatService) ?? true;
|
2023-12-02 02:26:43 +00:00
|
|
|
lookupsUnstoppableDomains =
|
|
|
|
sharedPreferences.getBool(PreferencesKey.lookupsUnstoppableDomains) ?? true;
|
2023-11-03 19:23:11 +00:00
|
|
|
lookupsOpenAlias = sharedPreferences.getBool(PreferencesKey.lookupsOpenAlias) ?? true;
|
|
|
|
lookupsENS = sharedPreferences.getBool(PreferencesKey.lookupsENS) ?? true;
|
2024-04-08 14:54:58 +00:00
|
|
|
customBitcoinFeeRate = sharedPreferences.getInt(PreferencesKey.customBitcoinFeeRate) ?? 1;
|
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base
* feat: allow scanning elect-rs using get_tweaks
* feat: scanning and adding addresses working with getTweaks, add btc SP address type
* chore: pubspec.lock
* chore: pubspec.lock
* fix: scan when switching, fix multiple unspents in same tx
* fix: initial scan
* fix: initial scan
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* fix: nodes & build
* fix: send all with multiple outs
* refactor: unchanged file
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* fix: scan fixes, add date, allow sending while scanning
* feat: sync fixes, sp settings
* feat: fix resyncing
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* fix: double balance
* feat: node domain
* fix: menu name
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* fix: status toggle
* minor enhancement
* Monero.com fixes
* update sp_scanner to include windows and linux
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 14:43:48 +00:00
|
|
|
silentPaymentsCardDisplay =
|
|
|
|
sharedPreferences.getBool(PreferencesKey.silentPaymentsCardDisplay) ?? true;
|
|
|
|
silentPaymentsAlwaysScan =
|
|
|
|
sharedPreferences.getBool(PreferencesKey.silentPaymentsAlwaysScan) ?? false;
|
litecoin mweb support (#1455)
* Fix stub creation
* Generate MWEB addresses
* Fix mweb address derivation
* Use camel-case
* Show utxos in tx list
* A few fixes
* Add spent processing
* Update balance
* Balance fixes
* Update address records
* Get rid of debounce hack
* Get sending up to the confirmation box
* Fee estimation
* Stop the daemon if plugin is unloaded
* Normal fee for non-mweb txns
* Fix fee estimation for send all
* Don't hash mweb addresses
* More fee fixes
* Broadcast mweb
* Remove test files
* One more
* Confirm sent txns
* Couple of fixes
* Resign inputs after mweb create
* Some more fixes
* Update balance after sending
* Correctly update address records
* Update confs
* [skip ci] updates
* [skip ci] add dep overrides
* working
* small fix
* merge fixes [skip ci]
* merge fixes [skip ci]
* [skip ci] minor fixes
* silent payment fixes [skip ci]
* updates [skip ci]
* save [skip ci]
* use mwebutxos box
* [skip ci] lots of fixes, still testing
* add rescan from height feature and test workflow build
* install go
* use sudo
* correct package name
* move building mweb higher for faster testing
* install fixes
* install later version of go
* go fixes
* testing
* testing
* testing
* testing
* testing
* should workgit add .github/workflows/pr_test_build.yml
* ???
* ??? pt.2
* should work, for real this time
* fix tx history not persisting + update build_mwebd script
* updates
* fix some rescan and address gen issues
* save [skip ci]
* fix unconfirmed balance not updating when receiving
* unspent coins / coin control fixes
* coin control fixes
* address balance and txCount fixes, try/catch electrum call
* fix txCount for addresses
* save [skip ci]
* potential fixes
* minor fix
* minor fix - 2
* sync status fixes, potential fix for background state issue
* workflow and script updates
* updates
* expirimental optimization
* [skip ci] minor enhancements
* workflow and script fixes
* workflow minor cleanup [skip ci]
* minor code cleanup & friendlier error message on failed tx's
* balance when sending fix
* experimental
* more experiments
* save
* updates
* coin control edge cases
* remove neutrino.db if no litecoin wallets left after deleting
* update translations
* updates
* minor fix
* [skip ci] update translations + minor fixes
* state fixes
* configure fix
* ui updates
* translation fixes
* [skip ci] addressbook updates
* fix popup
* fix popup2
* fix litecoin address book
* fix ios mwebd build script
* fix for building monero.com
* minor fix
* uncomment fix for state issues
* potential mweb sync fix (ios)
* remove print [skip ci]
* electrum stream potential fix
* fix ios build issues [skip ci]
* connection reliability updates, update kotlin code to match swift code, minor electrum error handling
* dep fixes
* minor fix
* more merge fixes
* bitcoin_flutter removal fixes
* [skip ci] fix always scan setting, swift updates
* updates
* fixes
* small fix
* small fix
* fix
* dart:convert != package:convert
* change address fixes
* update bitcoin_base to fix mweb address program checking
* fix ios xcode project [skip ci]
* updates
* more fixes
* more fixes
* ensure we don't initialize mweb until we really have to
* fix regression
* improve mweb reliability
* [skip ci] wip adress generation
* wip
* wip
* [skip ci] wip
* updates [skip ci]
* ios fixes
* fix workflows + ios fix
* test old mweb version
* update go version and mwebd hash
* review updates pt.1
* Update cw_bitcoin/lib/litecoin_wallet.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* remove non-litecoin address types regex [skip ci]
* more minor fixes
* remove duplicate [skip ci]
* Update lib/store/settings_store.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* script updates, swap params on createLitecoinWalletService
* topup fix
* [skip ci] wip
* [skip ci] testing
* [skip ci] file didn't get saved
* more address generation reliability fixes
* [skip ci] minor
* minor code cleanup
* hopefully prevents send issue
* [skip ci] wip address changes
* [skip ci] save
* save mweb addresses, auto-restart sync process if it gets stuck [skip ci]
* address generation issues mostly resolved
* more performance fixes
* [skip ci]
* this should maybe be refactored, pt.1
* separate mweb balances, pt.2
* [skip ci] save
* add translations [skip ci]
* fix sending with mweb amounts
* works for simple mweb-mweb case, further testing needed
* found an edge case
* [skip ci] make failed broadcast error message less serious
* minor
* capture all grpc errors and much better error handling overall
* [skip ci] minor
* prevent transactions with < 6 confirmations from being used + hide mweb balances if mweb is off
* fix
* merge fixes pt.1 [skip ci]
* fix mweb tags
* fix
* [skip ci] fix tag spacing
* fix transaction history not showing up
* fix mweb crash on non-fully deleted mweb cache, sync status ETA, other connection fixes
* [skip ci] minor code cleanup
* [skip ci] minor code cleanup
* additional cleanup
* silent payments eta fixes and updates
* revert sync eta changes into separate pr
* [skip ci] minor
* [skip ci] minor
* revert sync status title
* review fixes, additional cleanup
* [skip ci] minor
* [skip ci] minor
* [skip ci] minor
* trigger build
* review fixes, pt.2
* check if still processing utxos before updating sync status [skip ci]
* [skip ci] minor
* balance fix
* minor
* minor
* [skip ci] minor
* [skip ci] fix test net btc
* don't use mwebd for non-mweb tx's
* [skip ci] minor cleanup
* don't show all 1000+ mweb addresses on receive page
* minor cleanup + additional logging
---------
Co-authored-by: Hector Chu <hectorchu@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
2024-09-28 02:22:25 +00:00
|
|
|
mwebAlwaysScan = sharedPreferences.getBool(PreferencesKey.mwebAlwaysScan) ?? false;
|
|
|
|
mwebCardDisplay = sharedPreferences.getBool(PreferencesKey.mwebCardDisplay) ?? true;
|
|
|
|
mwebEnabled = sharedPreferences.getBool(PreferencesKey.mwebEnabled) ?? false;
|
|
|
|
hasEnabledMwebBefore = sharedPreferences.getBool(PreferencesKey.hasEnabledMwebBefore) ?? false;
|
2022-12-09 13:57:45 +00:00
|
|
|
final nodeId = sharedPreferences.getInt(PreferencesKey.currentNodeIdKey);
|
2023-05-17 14:43:23 +00:00
|
|
|
final bitcoinElectrumServerId =
|
2023-11-17 18:35:46 +00:00
|
|
|
sharedPreferences.getInt(PreferencesKey.currentBitcoinElectrumSererIdKey);
|
2023-05-17 14:43:23 +00:00
|
|
|
final litecoinElectrumServerId =
|
2023-11-17 18:35:46 +00:00
|
|
|
sharedPreferences.getInt(PreferencesKey.currentLitecoinElectrumSererIdKey);
|
2023-10-12 22:50:16 +00:00
|
|
|
final bitcoinCashElectrumServerId =
|
2023-11-17 18:35:46 +00:00
|
|
|
sharedPreferences.getInt(PreferencesKey.currentBitcoinCashNodeIdKey);
|
2023-05-17 14:43:23 +00:00
|
|
|
final havenNodeId = sharedPreferences.getInt(PreferencesKey.currentHavenNodeIdKey);
|
2023-08-04 17:01:49 +00:00
|
|
|
final ethereumNodeId = sharedPreferences.getInt(PreferencesKey.currentEthereumNodeIdKey);
|
2023-12-02 02:26:43 +00:00
|
|
|
final polygonNodeId = sharedPreferences.getInt(PreferencesKey.currentPolygonNodeIdKey);
|
2023-10-05 01:09:07 +00:00
|
|
|
final nanoNodeId = sharedPreferences.getInt(PreferencesKey.currentNanoNodeIdKey);
|
CW-555-Add-Solana-Wallet (#1272)
* chore: Create cw_solana package and clean up files
* feat: Add Solana Wallet - Create, Restore form seed, restore from Key, Restore from QR, Send, Receive, transaction history, spl tokens
* fix: Make transactions file specific to solana only for solana transactions
* chore: Revert inject app details script
* fix: Fix issue with node and switch current node to main beta instead of testnet
* fix: Fix merge conflicts and adjust migration version
* fix: Fetch spl token error
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
* fix: Diplay and activate spl tokens bug
* fix: Review and fixes
* fix: reverted formatting for cryptocurrency class
* fix: Review comments, split sending flow into signing and sending separately, fix issues
* fix: Revert throwing unimplenented error
* chore: Fix comment
* chore: Fix comment
* fix: Errors in flow
* Update provider_types.dart [skip ci]
* fix: Issues with solana wallet
* Update solana_wallet.dart [skip ci]
* fix: Review comments
* fix: Date time config
* fix: Revert bash script for app details
* fix: Error with balance, displaying fees, fixing sent or received identifier bug, displaying token symbol with token transaction item in transactions list
* fix: Issues with address validation when sending spl tokens and walletconnect initial setup
* fix: Issues with sending, fetching transactions history, almost wrapping up walletconnect
* fix: Adjust imports that would affect monerocom building successfully
* fix: Refine transaction direction and continue work on walletconnect
* feat: Display SPL token transfers in the transaction history and finally settle the transaction direction
* fix: Delay in transactions history dispaly, show native token transactions first, then process spl token transactions
* feat: Switch node and revert solana chain id to previous id
* fix: Remove print statement
* fix: Remove await for transactions, fetch all transaction histories instantly and adjust solana send success message
* chore: Code refactoring and streamlined wallet type check for solana send success message
* fix: Make timeout error for node silent and add spl token images
---------
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-02-23 13:39:19 +00:00
|
|
|
final solanaNodeId = sharedPreferences.getInt(PreferencesKey.currentSolanaNodeIdKey);
|
CW-525-Add-Tron-Wallet (#1327)
* chore: Initial setup for Tron Wallet
* feat: Create Tron Wallet base flow implemented, keys, address, receive, restore and proxy classes all setup
* feat: Display seed and key within the app
* feat: Activate restore from key and seed for Tron wallet
* feat: Add icon for tron wallet in wallet listing page
* feat: Activate display of receive address for tron
* feat: Fetch and display tron balance, sending transaction flow setup, fee limit calculation setup
* feat: Implement sending of native tron, setup sending of trc20 tokens
* chore: Rename function
* Delete lib/tron/tron.dart
* feat: Activate exchange for tron and its tokens, implement balance display for trc20 tokens and setup secrets configuration for tron
* feat: Implement tron token management, add, remove, delete, and get tokens in home settings view, also minor cleanup
* feat: Activate buy and sell for tron
* feat: Implement restore from QR, transactions history listing for both native transactions and trc20 transactions
* feat: Activate send all and do some minor cleanups
* chore: Fix some lint infos and warnings
* chore: Adjust configurations
* ci: Modify CI to create and add secrets for node
* fix: Fixes made while self reviewing the PR for this feature
* feat: Add guide for adding new wallet types, and add fixes to requested changes
* fix: Handle exceptions gracefully
* fix: Alternative for trc20 estimated fee
* fix: Fixes to display of amount and fee, removing clashes
* fix: Fee calculation WIP
* fix: Fix issue with handling of send all flow and display of amount and fee values before broadcasting transaction
* fix: PR review fixes and fix merge conflicts
* fix: Modify fetching assetOfTransaction [skip ci]
* fix: Move tron settings migration to 33
2024-05-03 18:00:05 +00:00
|
|
|
final tronNodeId = sharedPreferences.getInt(PreferencesKey.currentTronNodeIdKey);
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 19:43:17 +00:00
|
|
|
final wowneroNodeId = sharedPreferences.getInt(PreferencesKey.currentWowneroNodeIdKey);
|
2022-12-09 13:57:45 +00:00
|
|
|
final moneroNode = nodeSource.get(nodeId);
|
|
|
|
final bitcoinElectrumServer = nodeSource.get(bitcoinElectrumServerId);
|
|
|
|
final litecoinElectrumServer = nodeSource.get(litecoinElectrumServerId);
|
|
|
|
final havenNode = nodeSource.get(havenNodeId);
|
2023-08-04 17:01:49 +00:00
|
|
|
final ethereumNode = nodeSource.get(ethereumNodeId);
|
2023-12-02 02:26:43 +00:00
|
|
|
final polygonNode = nodeSource.get(polygonNodeId);
|
2023-10-12 22:50:16 +00:00
|
|
|
final bitcoinCashNode = nodeSource.get(bitcoinCashElectrumServerId);
|
2023-10-05 01:09:07 +00:00
|
|
|
final nanoNode = nodeSource.get(nanoNodeId);
|
CW-555-Add-Solana-Wallet (#1272)
* chore: Create cw_solana package and clean up files
* feat: Add Solana Wallet - Create, Restore form seed, restore from Key, Restore from QR, Send, Receive, transaction history, spl tokens
* fix: Make transactions file specific to solana only for solana transactions
* chore: Revert inject app details script
* fix: Fix issue with node and switch current node to main beta instead of testnet
* fix: Fix merge conflicts and adjust migration version
* fix: Fetch spl token error
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
* fix: Diplay and activate spl tokens bug
* fix: Review and fixes
* fix: reverted formatting for cryptocurrency class
* fix: Review comments, split sending flow into signing and sending separately, fix issues
* fix: Revert throwing unimplenented error
* chore: Fix comment
* chore: Fix comment
* fix: Errors in flow
* Update provider_types.dart [skip ci]
* fix: Issues with solana wallet
* Update solana_wallet.dart [skip ci]
* fix: Review comments
* fix: Date time config
* fix: Revert bash script for app details
* fix: Error with balance, displaying fees, fixing sent or received identifier bug, displaying token symbol with token transaction item in transactions list
* fix: Issues with address validation when sending spl tokens and walletconnect initial setup
* fix: Issues with sending, fetching transactions history, almost wrapping up walletconnect
* fix: Adjust imports that would affect monerocom building successfully
* fix: Refine transaction direction and continue work on walletconnect
* feat: Display SPL token transfers in the transaction history and finally settle the transaction direction
* fix: Delay in transactions history dispaly, show native token transactions first, then process spl token transactions
* feat: Switch node and revert solana chain id to previous id
* fix: Remove print statement
* fix: Remove await for transactions, fetch all transaction histories instantly and adjust solana send success message
* chore: Code refactoring and streamlined wallet type check for solana send success message
* fix: Make timeout error for node silent and add spl token images
---------
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-02-23 13:39:19 +00:00
|
|
|
final solanaNode = nodeSource.get(solanaNodeId);
|
CW-525-Add-Tron-Wallet (#1327)
* chore: Initial setup for Tron Wallet
* feat: Create Tron Wallet base flow implemented, keys, address, receive, restore and proxy classes all setup
* feat: Display seed and key within the app
* feat: Activate restore from key and seed for Tron wallet
* feat: Add icon for tron wallet in wallet listing page
* feat: Activate display of receive address for tron
* feat: Fetch and display tron balance, sending transaction flow setup, fee limit calculation setup
* feat: Implement sending of native tron, setup sending of trc20 tokens
* chore: Rename function
* Delete lib/tron/tron.dart
* feat: Activate exchange for tron and its tokens, implement balance display for trc20 tokens and setup secrets configuration for tron
* feat: Implement tron token management, add, remove, delete, and get tokens in home settings view, also minor cleanup
* feat: Activate buy and sell for tron
* feat: Implement restore from QR, transactions history listing for both native transactions and trc20 transactions
* feat: Activate send all and do some minor cleanups
* chore: Fix some lint infos and warnings
* chore: Adjust configurations
* ci: Modify CI to create and add secrets for node
* fix: Fixes made while self reviewing the PR for this feature
* feat: Add guide for adding new wallet types, and add fixes to requested changes
* fix: Handle exceptions gracefully
* fix: Alternative for trc20 estimated fee
* fix: Fixes to display of amount and fee, removing clashes
* fix: Fee calculation WIP
* fix: Fix issue with handling of send all flow and display of amount and fee values before broadcasting transaction
* fix: PR review fixes and fix merge conflicts
* fix: Modify fetching assetOfTransaction [skip ci]
* fix: Move tron settings migration to 33
2024-05-03 18:00:05 +00:00
|
|
|
final tronNode = nodeSource.get(tronNodeId);
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 19:43:17 +00:00
|
|
|
final wowneroNode = nodeSource.get(wowneroNodeId);
|
2022-12-09 13:57:45 +00:00
|
|
|
if (moneroNode != null) {
|
|
|
|
nodes[WalletType.monero] = moneroNode;
|
2022-12-07 14:41:04 +00:00
|
|
|
}
|
|
|
|
|
2022-12-09 13:57:45 +00:00
|
|
|
if (bitcoinElectrumServer != null) {
|
|
|
|
nodes[WalletType.bitcoin] = bitcoinElectrumServer;
|
|
|
|
}
|
2022-12-07 14:41:04 +00:00
|
|
|
|
2022-12-09 13:57:45 +00:00
|
|
|
if (litecoinElectrumServer != null) {
|
|
|
|
nodes[WalletType.litecoin] = litecoinElectrumServer;
|
|
|
|
}
|
2022-12-07 14:41:04 +00:00
|
|
|
|
2022-12-09 13:57:45 +00:00
|
|
|
if (havenNode != null) {
|
|
|
|
nodes[WalletType.haven] = havenNode;
|
|
|
|
}
|
2023-08-04 17:01:49 +00:00
|
|
|
|
|
|
|
if (ethereumNode != null) {
|
|
|
|
nodes[WalletType.ethereum] = ethereumNode;
|
|
|
|
}
|
2023-10-05 01:09:07 +00:00
|
|
|
|
2023-12-02 02:26:43 +00:00
|
|
|
if (polygonNode != null) {
|
|
|
|
nodes[WalletType.polygon] = polygonNode;
|
|
|
|
}
|
|
|
|
|
2023-10-12 22:50:16 +00:00
|
|
|
if (bitcoinCashNode != null) {
|
|
|
|
nodes[WalletType.bitcoinCash] = bitcoinCashNode;
|
|
|
|
}
|
|
|
|
|
2023-10-05 01:09:07 +00:00
|
|
|
if (nanoNode != null) {
|
|
|
|
nodes[WalletType.nano] = nanoNode;
|
|
|
|
}
|
2024-01-23 00:30:16 +00:00
|
|
|
|
CW-555-Add-Solana-Wallet (#1272)
* chore: Create cw_solana package and clean up files
* feat: Add Solana Wallet - Create, Restore form seed, restore from Key, Restore from QR, Send, Receive, transaction history, spl tokens
* fix: Make transactions file specific to solana only for solana transactions
* chore: Revert inject app details script
* fix: Fix issue with node and switch current node to main beta instead of testnet
* fix: Fix merge conflicts and adjust migration version
* fix: Fetch spl token error
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
* fix: Diplay and activate spl tokens bug
* fix: Review and fixes
* fix: reverted formatting for cryptocurrency class
* fix: Review comments, split sending flow into signing and sending separately, fix issues
* fix: Revert throwing unimplenented error
* chore: Fix comment
* chore: Fix comment
* fix: Errors in flow
* Update provider_types.dart [skip ci]
* fix: Issues with solana wallet
* Update solana_wallet.dart [skip ci]
* fix: Review comments
* fix: Date time config
* fix: Revert bash script for app details
* fix: Error with balance, displaying fees, fixing sent or received identifier bug, displaying token symbol with token transaction item in transactions list
* fix: Issues with address validation when sending spl tokens and walletconnect initial setup
* fix: Issues with sending, fetching transactions history, almost wrapping up walletconnect
* fix: Adjust imports that would affect monerocom building successfully
* fix: Refine transaction direction and continue work on walletconnect
* feat: Display SPL token transfers in the transaction history and finally settle the transaction direction
* fix: Delay in transactions history dispaly, show native token transactions first, then process spl token transactions
* feat: Switch node and revert solana chain id to previous id
* fix: Remove print statement
* fix: Remove await for transactions, fetch all transaction histories instantly and adjust solana send success message
* chore: Code refactoring and streamlined wallet type check for solana send success message
* fix: Make timeout error for node silent and add spl token images
---------
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-02-23 13:39:19 +00:00
|
|
|
if (solanaNode != null) {
|
|
|
|
nodes[WalletType.solana] = solanaNode;
|
|
|
|
}
|
|
|
|
|
CW-525-Add-Tron-Wallet (#1327)
* chore: Initial setup for Tron Wallet
* feat: Create Tron Wallet base flow implemented, keys, address, receive, restore and proxy classes all setup
* feat: Display seed and key within the app
* feat: Activate restore from key and seed for Tron wallet
* feat: Add icon for tron wallet in wallet listing page
* feat: Activate display of receive address for tron
* feat: Fetch and display tron balance, sending transaction flow setup, fee limit calculation setup
* feat: Implement sending of native tron, setup sending of trc20 tokens
* chore: Rename function
* Delete lib/tron/tron.dart
* feat: Activate exchange for tron and its tokens, implement balance display for trc20 tokens and setup secrets configuration for tron
* feat: Implement tron token management, add, remove, delete, and get tokens in home settings view, also minor cleanup
* feat: Activate buy and sell for tron
* feat: Implement restore from QR, transactions history listing for both native transactions and trc20 transactions
* feat: Activate send all and do some minor cleanups
* chore: Fix some lint infos and warnings
* chore: Adjust configurations
* ci: Modify CI to create and add secrets for node
* fix: Fixes made while self reviewing the PR for this feature
* feat: Add guide for adding new wallet types, and add fixes to requested changes
* fix: Handle exceptions gracefully
* fix: Alternative for trc20 estimated fee
* fix: Fixes to display of amount and fee, removing clashes
* fix: Fee calculation WIP
* fix: Fix issue with handling of send all flow and display of amount and fee values before broadcasting transaction
* fix: PR review fixes and fix merge conflicts
* fix: Modify fetching assetOfTransaction [skip ci]
* fix: Move tron settings migration to 33
2024-05-03 18:00:05 +00:00
|
|
|
if (tronNode != null) {
|
|
|
|
nodes[WalletType.tron] = tronNode;
|
|
|
|
}
|
|
|
|
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 19:43:17 +00:00
|
|
|
if (wowneroNode != null) {
|
|
|
|
nodes[WalletType.wownero] = wowneroNode;
|
|
|
|
}
|
|
|
|
|
2024-01-23 00:30:16 +00:00
|
|
|
// MIGRATED:
|
|
|
|
|
|
|
|
useTOTP2FA = await SecureKey.getBool(
|
|
|
|
secureStorage: _secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.useTOTP2FA,
|
|
|
|
) ??
|
|
|
|
useTOTP2FA;
|
|
|
|
|
|
|
|
totpSecretKey = await SecureKey.getString(
|
|
|
|
secureStorage: _secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
2024-01-27 03:08:53 +00:00
|
|
|
key: SecureKey.totpSecretKey,
|
2024-01-23 00:30:16 +00:00
|
|
|
) ??
|
|
|
|
totpSecretKey;
|
|
|
|
|
2024-01-30 17:57:47 +00:00
|
|
|
final timeOutDuration = await SecureKey.getInt(
|
|
|
|
secureStorage: _secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.pinTimeOutDuration,
|
|
|
|
);
|
|
|
|
|
|
|
|
pinTimeOutDuration = timeOutDuration != null
|
|
|
|
? PinCodeRequiredDuration.deserialize(raw: timeOutDuration)
|
|
|
|
: defaultPinCodeTimeOutDuration;
|
|
|
|
|
2024-01-23 00:30:16 +00:00
|
|
|
allowBiometricalAuthentication = await SecureKey.getBool(
|
|
|
|
secureStorage: _secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.allowBiometricalAuthenticationKey,
|
|
|
|
) ??
|
|
|
|
allowBiometricalAuthentication;
|
|
|
|
|
|
|
|
selectedCake2FAPreset = Cake2FAPresetsOptions.deserialize(
|
|
|
|
raw: await SecureKey.getInt(
|
|
|
|
secureStorage: _secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.selectedCake2FAPreset,
|
|
|
|
) ??
|
|
|
|
Cake2FAPresetsOptions.normal.raw);
|
|
|
|
|
|
|
|
shouldRequireTOTP2FAForAccessingWallet = await SecureKey.getBool(
|
|
|
|
secureStorage: _secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.shouldRequireTOTP2FAForAccessingWallet,
|
|
|
|
) ??
|
|
|
|
false;
|
|
|
|
shouldRequireTOTP2FAForSendsToContact = await SecureKey.getBool(
|
|
|
|
secureStorage: _secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.shouldRequireTOTP2FAForSendsToContact,
|
|
|
|
) ??
|
|
|
|
false;
|
|
|
|
|
|
|
|
shouldRequireTOTP2FAForSendsToNonContact = await SecureKey.getBool(
|
|
|
|
secureStorage: _secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.shouldRequireTOTP2FAForSendsToNonContact,
|
|
|
|
) ??
|
|
|
|
false;
|
|
|
|
shouldRequireTOTP2FAForSendsToInternalWallets = await SecureKey.getBool(
|
|
|
|
secureStorage: _secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.shouldRequireTOTP2FAForSendsToInternalWallets,
|
|
|
|
) ??
|
|
|
|
false;
|
|
|
|
shouldRequireTOTP2FAForExchangesToInternalWallets = await SecureKey.getBool(
|
|
|
|
secureStorage: _secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.shouldRequireTOTP2FAForExchangesToInternalWallets,
|
|
|
|
) ??
|
|
|
|
false;
|
|
|
|
shouldRequireTOTP2FAForExchangesToExternalWallets = await SecureKey.getBool(
|
|
|
|
secureStorage: _secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.shouldRequireTOTP2FAForExchangesToExternalWallets,
|
|
|
|
) ??
|
|
|
|
false;
|
|
|
|
shouldRequireTOTP2FAForAddingContacts = await SecureKey.getBool(
|
|
|
|
secureStorage: _secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.shouldRequireTOTP2FAForAddingContacts,
|
|
|
|
) ??
|
|
|
|
false;
|
|
|
|
shouldRequireTOTP2FAForCreatingNewWallets = await SecureKey.getBool(
|
|
|
|
secureStorage: _secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.shouldRequireTOTP2FAForCreatingNewWallets,
|
|
|
|
) ??
|
|
|
|
false;
|
|
|
|
shouldRequireTOTP2FAForAllSecurityAndBackupSettings = await SecureKey.getBool(
|
|
|
|
secureStorage: _secureStorage,
|
|
|
|
sharedPreferences: sharedPreferences,
|
|
|
|
key: SecureKey.shouldRequireTOTP2FAForAllSecurityAndBackupSettings,
|
|
|
|
) ??
|
|
|
|
false;
|
2022-12-07 14:41:04 +00:00
|
|
|
}
|
2021-01-15 17:41:30 +00:00
|
|
|
|
2020-09-26 19:17:31 +00:00
|
|
|
Future<void> _saveCurrentNode(Node node, WalletType walletType) async {
|
2020-09-21 11:50:26 +00:00
|
|
|
switch (walletType) {
|
|
|
|
case WalletType.bitcoin:
|
|
|
|
await _sharedPreferences.setInt(
|
|
|
|
PreferencesKey.currentBitcoinElectrumSererIdKey, node.key as int);
|
|
|
|
break;
|
2021-05-07 07:36:38 +00:00
|
|
|
case WalletType.litecoin:
|
|
|
|
await _sharedPreferences.setInt(
|
|
|
|
PreferencesKey.currentLitecoinElectrumSererIdKey, node.key as int);
|
|
|
|
break;
|
2020-09-21 11:50:26 +00:00
|
|
|
case WalletType.monero:
|
2023-05-17 14:43:23 +00:00
|
|
|
await _sharedPreferences.setInt(PreferencesKey.currentNodeIdKey, node.key as int);
|
2020-09-21 11:50:26 +00:00
|
|
|
break;
|
2022-06-20 14:18:25 +00:00
|
|
|
case WalletType.haven:
|
2023-05-17 14:43:23 +00:00
|
|
|
await _sharedPreferences.setInt(PreferencesKey.currentHavenNodeIdKey, node.key as int);
|
2022-06-20 14:18:25 +00:00
|
|
|
break;
|
2023-08-04 17:01:49 +00:00
|
|
|
case WalletType.ethereum:
|
|
|
|
await _sharedPreferences.setInt(PreferencesKey.currentEthereumNodeIdKey, node.key as int);
|
|
|
|
break;
|
2023-10-12 22:50:16 +00:00
|
|
|
case WalletType.bitcoinCash:
|
2023-11-17 18:35:46 +00:00
|
|
|
await _sharedPreferences.setInt(
|
|
|
|
PreferencesKey.currentBitcoinCashNodeIdKey, node.key as int);
|
2023-10-12 22:50:16 +00:00
|
|
|
break;
|
2023-10-05 01:09:07 +00:00
|
|
|
case WalletType.nano:
|
|
|
|
await _sharedPreferences.setInt(PreferencesKey.currentNanoNodeIdKey, node.key as int);
|
|
|
|
break;
|
2023-12-02 02:26:43 +00:00
|
|
|
case WalletType.polygon:
|
|
|
|
await _sharedPreferences.setInt(PreferencesKey.currentPolygonNodeIdKey, node.key as int);
|
|
|
|
break;
|
CW-555-Add-Solana-Wallet (#1272)
* chore: Create cw_solana package and clean up files
* feat: Add Solana Wallet - Create, Restore form seed, restore from Key, Restore from QR, Send, Receive, transaction history, spl tokens
* fix: Make transactions file specific to solana only for solana transactions
* chore: Revert inject app details script
* fix: Fix issue with node and switch current node to main beta instead of testnet
* fix: Fix merge conflicts and adjust migration version
* fix: Fetch spl token error
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
* fix: Diplay and activate spl tokens bug
* fix: Review and fixes
* fix: reverted formatting for cryptocurrency class
* fix: Review comments, split sending flow into signing and sending separately, fix issues
* fix: Revert throwing unimplenented error
* chore: Fix comment
* chore: Fix comment
* fix: Errors in flow
* Update provider_types.dart [skip ci]
* fix: Issues with solana wallet
* Update solana_wallet.dart [skip ci]
* fix: Review comments
* fix: Date time config
* fix: Revert bash script for app details
* fix: Error with balance, displaying fees, fixing sent or received identifier bug, displaying token symbol with token transaction item in transactions list
* fix: Issues with address validation when sending spl tokens and walletconnect initial setup
* fix: Issues with sending, fetching transactions history, almost wrapping up walletconnect
* fix: Adjust imports that would affect monerocom building successfully
* fix: Refine transaction direction and continue work on walletconnect
* feat: Display SPL token transfers in the transaction history and finally settle the transaction direction
* fix: Delay in transactions history dispaly, show native token transactions first, then process spl token transactions
* feat: Switch node and revert solana chain id to previous id
* fix: Remove print statement
* fix: Remove await for transactions, fetch all transaction histories instantly and adjust solana send success message
* chore: Code refactoring and streamlined wallet type check for solana send success message
* fix: Make timeout error for node silent and add spl token images
---------
Signed-off-by: Blazebrain <davidadegoke16@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-02-23 13:39:19 +00:00
|
|
|
case WalletType.solana:
|
|
|
|
await _sharedPreferences.setInt(PreferencesKey.currentSolanaNodeIdKey, node.key as int);
|
|
|
|
break;
|
CW-525-Add-Tron-Wallet (#1327)
* chore: Initial setup for Tron Wallet
* feat: Create Tron Wallet base flow implemented, keys, address, receive, restore and proxy classes all setup
* feat: Display seed and key within the app
* feat: Activate restore from key and seed for Tron wallet
* feat: Add icon for tron wallet in wallet listing page
* feat: Activate display of receive address for tron
* feat: Fetch and display tron balance, sending transaction flow setup, fee limit calculation setup
* feat: Implement sending of native tron, setup sending of trc20 tokens
* chore: Rename function
* Delete lib/tron/tron.dart
* feat: Activate exchange for tron and its tokens, implement balance display for trc20 tokens and setup secrets configuration for tron
* feat: Implement tron token management, add, remove, delete, and get tokens in home settings view, also minor cleanup
* feat: Activate buy and sell for tron
* feat: Implement restore from QR, transactions history listing for both native transactions and trc20 transactions
* feat: Activate send all and do some minor cleanups
* chore: Fix some lint infos and warnings
* chore: Adjust configurations
* ci: Modify CI to create and add secrets for node
* fix: Fixes made while self reviewing the PR for this feature
* feat: Add guide for adding new wallet types, and add fixes to requested changes
* fix: Handle exceptions gracefully
* fix: Alternative for trc20 estimated fee
* fix: Fixes to display of amount and fee, removing clashes
* fix: Fee calculation WIP
* fix: Fix issue with handling of send all flow and display of amount and fee values before broadcasting transaction
* fix: PR review fixes and fix merge conflicts
* fix: Modify fetching assetOfTransaction [skip ci]
* fix: Move tron settings migration to 33
2024-05-03 18:00:05 +00:00
|
|
|
case WalletType.tron:
|
|
|
|
await _sharedPreferences.setInt(PreferencesKey.currentTronNodeIdKey, node.key as int);
|
|
|
|
break;
|
Wownero (#1485)
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* various fixes for build issues
* initial monero.dart implementation
* ...
* multiple wallets
new lib
minor fixes
* other fixes from monero.dart and monero_c
* fix: nodes & build
* update build scripts
fix polyseed
* remove unnecessary code
* Add windows app, build scripts and build guide for it.
* Minor fix in generated monero configs
* fix: send all with multiple outs
* add missing monero_c command
* add android build script
* Merge and fix main
* undo android ndk removal
* Fix modified exception_handler.dart
* Temporarily remove haven
* fix build issues
* fix pr script
* Fixes for build monero.dart (monero_c) for windows.
* monero build script
* wip: ios build script
* refactor: unchanged file
* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.
* Update monero.dart and monero_c versions.
* Add missed windows build scripts
* Update the application configuration for windows build script.
* Update cw_monero pubspec lock file for monero.dart
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* Fix conflicts with main
* fix for multiple wallets
* Add tron to windows application configuration.
* Add macOS option for description message in configure_cake_wallet.sh
* Include missed monero dll for windows.
* fix conflicts with main
* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero.
* fix: scan fixes, add date, allow sending while scanning
* add missing nano secrets file [skip ci]
* ios library
* don't pull prebuilds android
* Add auto generation of manifest file for android project even for iOS, macOS, Windows.
* feat: sync fixes, sp settings
* feat: fix resyncing
* store crash fix
* make init async so it won't lag
disable print starts
* fix monero_c build issues
* libstdc++
* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)
* update pubspec.lock
* fix build script
* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* bump monero_c hash
* bump monero_c commit
* bump moneroc version
* bump monero_c commit
* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* get App Dir correctly in default_settings_migration.dart
* handle previous issue with fetching linux documents directory [skip ci]
* backup fix
* fix NTFS issues
* Close the wallet when the wallet gets changed
* fix: double balance
* feat: node domain
* fix: menu name
* bump monero_c commit
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* Only stop wallet on rename and delete
* fix: status toggle
* minor enhancement
* Monero.com fixes
* bump monero_c commit
* update sp_scanner to include windows and linux
* Update macOS build guide. Change brew dependencies for build unbound locally.
* fix conflicts and update macos build guide
* remove build cache when on gh actions
* update secure storage
* free up even more storage
* free up more storage
* Add initial wownero
* fix conflicts
* fix workflow issue
* build wownero
* ios and windows changes
* macos
* complete wownero flow (app side)
* add keychain group entitlement and update script for RunnerBase on macos
* update secure_storage version to 8.1.0 in configure.dart
* add wownero framework
* update ios builds
* proper path for wownero and monero
* finalizing wownero
* finalizing wownero
* free up even more storage
* revert commenting of build gradle configs
* revert commenting of secrets [skip ci]
* free more storage
* minor fixes
* link android wownero libraries
* bump monero_c commit
* wownero fixes
* rename target
* build_single.sh using clean env
* bump monero_c commit
* minor fix
* Add wownero polyseed
* fix conflicts with main
* fix: wallet seed display
fix: wownero not refreshing
* fix: wallet seed display
fix: wownero not refreshing
* bump monero_c commit
* minor fixes
* fix: incorrectly displaying XMR instead of WOW
* fix: incorrect restore height in wownero
* bump monero_c commit
* Add Inno Setup Script for windows exe installer
* drop libc++_shared.so
* fixes from comments
* Fix CMake for windows
* Merge latest monero dart changes [skip ci]
* bump monero_c commit
* add wownero to build scripts for macos [skip ci]
* add 14 word seed support to wownero
* UI fixes for wownero seed restore
* minor fixes
* reformat code to pass lints
* wownero: fixes
haven: removal popup
* minor iOS fix [skip ci]
* fix: wownero confirmation count (it is spendable after 3 confirms)
fix: transaction history not displaying in WOW and XMR
when tx has 0 confirms,
This is more of a workaround, because I have no idea
why would the cpp code not return pending transaction.
* Update preferences_key.dart [skip ci]
* minor fixes
---------
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-07-04 19:43:17 +00:00
|
|
|
case WalletType.wownero:
|
|
|
|
await _sharedPreferences.setInt(PreferencesKey.currentWowneroNodeIdKey, node.key as int);
|
|
|
|
break;
|
2020-09-21 11:50:26 +00:00
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
nodes[walletType] = node;
|
|
|
|
}
|
2023-05-17 14:43:23 +00:00
|
|
|
|
2023-10-05 01:09:07 +00:00
|
|
|
Future<void> _saveCurrentPowNode(Node node, WalletType walletType) async {
|
|
|
|
switch (walletType) {
|
|
|
|
case WalletType.nano:
|
|
|
|
await _sharedPreferences.setInt(PreferencesKey.currentNanoPowNodeIdKey, node.key as int);
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
powNodes[walletType] = node;
|
|
|
|
}
|
|
|
|
|
2023-11-16 23:23:34 +00:00
|
|
|
void initializeTrocadorProviderStates() {
|
|
|
|
for (var provider in TrocadorExchangeProvider.availableProviders) {
|
|
|
|
final savedState = _sharedPreferences.getBool(provider) ?? true;
|
|
|
|
trocadorProviderStates[provider] = savedState;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void saveTrocadorProviderState(String providerName, bool state) {
|
|
|
|
_sharedPreferences.setBool(providerName, state);
|
|
|
|
trocadorProviderStates[providerName] = state;
|
|
|
|
}
|
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
static Future<String?> _getDeviceName() async {
|
|
|
|
String? deviceName = '';
|
|
|
|
final deviceInfoPlugin = DeviceInfoPlugin();
|
|
|
|
|
|
|
|
if (Platform.isAndroid) {
|
|
|
|
final androidInfo = await deviceInfoPlugin.androidInfo;
|
|
|
|
deviceName = '${androidInfo.brand}%20${androidInfo.manufacturer}%20${androidInfo.model}';
|
|
|
|
} else if (Platform.isIOS) {
|
|
|
|
final iosInfo = await deviceInfoPlugin.iosInfo;
|
|
|
|
deviceName = iosInfo.model;
|
|
|
|
} else if (Platform.isLinux) {
|
|
|
|
final linuxInfo = await deviceInfoPlugin.linuxInfo;
|
|
|
|
deviceName = linuxInfo.prettyName;
|
|
|
|
} else if (Platform.isMacOS) {
|
|
|
|
final macInfo = await deviceInfoPlugin.macOsInfo;
|
|
|
|
deviceName = macInfo.computerName;
|
|
|
|
} else if (Platform.isWindows) {
|
2024-08-19 14:06:57 +00:00
|
|
|
try {
|
|
|
|
final windowsInfo = await deviceInfoPlugin.windowsInfo;
|
|
|
|
deviceName = windowsInfo.productName;
|
|
|
|
} catch (e) {
|
|
|
|
print(e);
|
2024-11-07 02:57:36 +00:00
|
|
|
print(
|
|
|
|
'likely digitalProductId is null wait till https://github.com/fluttercommunity/plus_plugins/pull/3188 is merged');
|
2024-08-19 14:06:57 +00:00
|
|
|
deviceName = "Windows Device";
|
|
|
|
}
|
2023-05-17 14:43:23 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
return deviceName;
|
|
|
|
}
|
2020-07-06 20:09:03 +00:00
|
|
|
}
|