* node peer enhancement, delay mweb address generation, increase logging
* prevent unnecessary sync status changes if we can't connect to the ltc node
* handle potential errors
* set nodeUri to null for testing
* [skip ci] redo good changes
* [skip ci] draft
* [skip ci] minor
* [skip ci] cleanup
* [skip ci] minor
* [skip ci] minor
* [skip ci] localization
* [skip ci] save
* [skip ci] wip
* use proxy layer
* ui
* minor changes
Add ToDos for later
* fixes
* [skip ci] minor
* [skip ci] minor
* [skip ci] ui
* handle case where there are no addresses with txcount > 0
* comment out pegin button
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* reset brightness after using
* set default qr to auto detect
* minor safety enhancement
* close socket after checking connectivity
* fix incorrect parent exception class
* pump medium and fast priorities even if they are equal to slow
* Add Ton to exchange
* fix silent payments
add Seth bitcoin node
* deselect quantex
add seth node for existing users
* fix node uri
* subaddress fix
* fix subaddress generation
* rewrite usedAddresses for xmr and wow
* [skip ci] remove print statements
* refactor address handling
* do not remove manual addresses, just mark them
* monero display latest address on receive page when autogenerate is enabled [skip ci]
* WIP subaddresses, hidden addresses, and UI improvements for monero
* update configure script
* fix subaddress generation, display latest address
* Update lib/core/wallet_loading_service.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* Exclude manually created addresses
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* don't call .save function multiple times
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* - revert usedAddress functinality
- add mutex to prevent crashes
- fix UI flashing in tx screen
- fixes from comments
* account index fixes
added code to wownero
code comment
* - added subaddress index
- fixed received count also accounting for change (we don't want that)
- fix bad state: no element
- fix search
- fix automatic generation
* prevent crashes by acquiring mutex before setting the pointer
* - fix ttDetails generation in larger/restored wallets
- show manual add icon in monero/wownero even when autogeneration is enabled
- disable colors on non-debug builds
- cache getAddress call in xmr/wow
[skip ci]
* fix: silent payment error in address setter
enable fancy new features only for xmr / wow
* refresh subaddress list, when we add new address
fix manual addresses marking
* add toggle to hide and show address
* update transaction details after restore
* show only one address in address book for xmr, wow and haven
* fix address book
reset address only when autogenerate is on
* enable isEnabledAutoGenerateSubaddress on new wallets
* hide addresses after exchange only for XMR and WOW
* fix: bad-state no element
* Update cw_monero/lib/monero_wallet_addresses.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* Update cw_monero/lib/monero_wallet_addresses.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* improvements to performance
* 0, 0 -> accountIndex, addressIndex
* make constant variables final
* Update cw_wownero/lib/wownero_wallet_addresses.dart [skip ci]
* Update cw_wownero/lib/wownero_wallet_addresses.dart [skip ci]
* Update cw_monero/lib/monero_wallet.dart [skip ci]
* fix potential exception
* fix after removing late
* remove orElse, replaced it with a try catch block.
fix strings
* fix valid seed function
* fix null check error [skip ci]
* fix updateSubaddressList for wow and haven
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* 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>
* add confirm passphrase field and show/hide passphrase feature
* change error message
allow force appending translation to overwrite
* minor fix for showing frozen balance correctly [skip ci]
* remove debug prints [skip ci]
* 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>
* fix: enhance regex, fix multiline
* feat: improve scan msg, fix missing txs, use date api
* feat: node fixes, enhance send modal, TX list tag & filter, refactors
* fix: continuous scanning
* fix: missing close
* fix: resubscribe tweaks
* feat: use mempool api setting toggle
* handle any failure of height API and fallback to the old method [skip ci]
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* total out amount issue
* fix empty inputs and outputs addresses for new tx
* fix sum value of utxo not spending
* Update configure.dart
* Update electrum_wallet.dart
* receiving address
* review fixes
* add op_return data
* fix rbf transaction with a memo
* add memo check for ThorChain trade
* code enhancement [skip ci]
* code enhancement [skip ci]
* directly use fromElectrumBundle function to update transaction info
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* total out amount issue
* fix empty inputs and outputs addresses for new tx
* fix sum value of utxo not spending
* Update configure.dart
* Update electrum_wallet.dart
* receiving address
* review fixes
* return null if in connection failure state
* reconnect on connection failure
* better connection handling
* probably not necessary but just incase
* connection handling updates
* add cancelOnError: true
* version bump to 3.13.9, auth working on mac
* bump flutter version in workflow file
* workflow fix
* test fix
* downgrade flutter version
* test fix
* test fix
* update gradle version
* start working on ui for message signing
* updates
* sign working for a few wallet types
* updates & verification for electrum currencies
* nano support
* sign/verify working on eth, bitcoin broken
* update translations
* Implement Verify Message for Monero
* save [skip ci]
* pub key extraction working
* fixes for electrum signing
* verify working for solana!
* electrum still not working :( [skip ci]
* electrum messages working!
* fixes for updated dart version, localization file updates
* remove accidental inclusion
* missed some unimplemented throws
* Update res/values/strings_de.arb
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
* Apply suggestions from code review
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
* review suggestions and updates [skip ci]
* [skip ci] add polygon
* [skip ci] merge mac-auth/update version
* fix litecoin
* bio auth mac fix
* remove comment and change duration from 2 to 0
* cherry pick previous changes
* litecoin fixes, sign form fixes, use new walletAddressPicker
* support accounts
* verify messages working for monero
* working sign and verify messages for nano
* electrum signing working [skip ci]
* additional nano fixes
* update translations
* attempt to decode signatures with base64
* workaround for secure storage bug on mac
* bump version to 3.19.5 (because breez will need this version anyways)
* some code cleanup
* some changess didn't get saved
* just documenting the issue [skip ci]
* undo accidental removal + minor code cleanup
* merge conflicts
* merge fixes [skip ci]
* add tron support
* [wip] fixing
* remove duplicate references to electrum path for maintainability
* fixes
* minor fix
* fixes
* undo debug comment
* update migration for all electrum based wallets
* hotfixes
* copy over the rest of the fixes
* minor code cleanup [skip ci]
* updates
* electrum signing workinggit statusgit statusgit statusgit status!
* copy same fixes for litecoin
* litecoin fixes
* add v to litecoin signatures
* fix dependencies
* fix bitcoin_base version
* merge fix
* dep override
* fix conflicts with main
* trial fix for android build
* fixes
* fix
* dep fix, should build
* fix signing for bitcoin cash
* [skip ci] minor code cleanup
* [skip ci] minor code cleanup 2
* forgot wonero, various other fixes
* more fixes
* fix solana (untested)
---------
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* 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>
* CW-688 Store Seed and keys in .keys file
* CW-688 Open wallet from keys in .keys file and migrate wallets using the old file
* CW-688 Open wallet from keys in .keys file and migrate wallets using the old file
* CW-688 Restore .keys file from .keys.backup
* CW-688 Restore .keys file from .keys.backup
* CW-688 Move saving .keys files into the save function instead of the service
* CW-688 Handle corrupt wallets
* CW-688 Handle corrupt wallets
* CW-688 Remove code duplication
* CW-688 Reduce cache dependency
* wrap any file reading/writing function with try/catch [skip ci]
---------
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
* hotfixes
* copy over the rest of the fixes
* use hardened derivation path everywhere
* correct balance path for electrum
* revert index nullability and correct balance path for all cases
* only save wallet info if we changed it
* fixes and minor enhancements for SP flow
* fix build
* change dfx text
* minor fixes
* pass use electrs to setListeners
* comment out connecting on failure for now
* minor enhancement
* show camera consent at least once, even if camera permission is granted already
* minor enhancement [skip ci]
* Add taproot derivation path to electrum_derivations.dart
* remove unused import [skip ci]
* Initialize Ledger only when necessary
* Update app versions
* bio auth mac fix
* remove comment and change duration from 2 to 0
* cherry pick previous changes
* workaround for secure storage bug on mac
* bump version to 3.19.5 (because breez will need this version anyways)
* some code cleanup
* some changess didn't get saved
* just documenting the issue [skip ci]
* undo accidental removal + minor code cleanup
* merge conflicts
* Minor UI change [skip ci]
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>