* feat: Integration tests setup and tests for Disclaimer, Welcome and Setup Pin Code pages
* feat: Integration test flow from start to restoring a wallet successfully done
* test: Dashboard view test and linking to flow
* feat: Testing the Exchange flow section, selecting sending and receiving currencies
* test: Successfully create an exchange section
* feat: Implement flow up to sending section
* test: Complete Exchange flow
* fix dependency issue
* test: Final cleanups
* feat: Add CI to run automated integration tests withan android emulator
* feat: Adjust Automated integration test CI to run on ubuntu 20.04-a
* fix: Move integration test CI into PR test build CI
* ci: Add automated test ci which is a streamlined replica of pr test build ci
* ci: Re-add step to access branch name
* ci: Add KVM
* ci: Add filepath to trigger the test run from
* ci: Add required key
* ci: Add required key
* ci: Add missing secret key
* ci: Add missing secret key
* ci: Add nano secrets to workflow
* ci: Switch step to free space on runner
* ci: Remove timeout from workflow
* ci: Confirm impact that removing copy_monero_deps would have on entire workflow time
* ci: Update CI and temporarily remove cache related to emulator
* ci: Remove dynamic java version
* ci: Temporarily switch CI
* ci: Switch to 11.x jdk
* ci: Temporarily switch CI
* ci: Revert ubuntu version
* ci: Add more api levels
* ci: Add more target options
* ci: Settled on stable emulator matrix options
* ci: Add more target options
* ci: Modify flow
* ci: Streamline api levels to 28 and 29
* ci: One more trial
* ci: Switch to flutter drive
* ci: Reduce options
* ci: Remove haven from test
* ci: Check for solana in list
* ci: Adjust amounts and currencies for exchange flow
* ci: Set write response on failure to true
* ci: Split ci to funds and non funds related tests
* test: Test for Send flow scenario and minor restructuring for test folders and files
* chore: cleanup
* ci: Pause CI for now
* ci: Pause CI for now
* ci: Pause CI for now
* Fix: Add keys back to currency amount textfield widget
* fix: Switch variable name
* fix: remove automation for now
* test: Updating send page robot and also syncing branch with main
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* 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>
* minor nano derivation fixes
* rep page fixes
* ignore non-critical receive block errors
* really be sure the derivation type is set during wallet creation
* 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
* 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>
* Fix legacy seeds not being displayed when polyseed is not supported
* fallback to english on Japanese, it errors with empty errorString - probably some kind of normalization issue
* seed fixes + jCenter removal
* set seed language to English if none
show error when requesting seed
---------
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>
* fix: Tron and solana fixes
* fix: Disable send all for solana wallets
* fix: Add localization and add tostring to get more info on error
* fix: Fix spelling for comment
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* add litecoin nodes
minor ui fix
* Try to open the wallet or fetch the seeds and show them to the user
* make sure the seeds are only displayed after authentication
* fix invalid wallet pointer getting set even when we throw
* Hide "wallet seeds" field if there is no seeds (cases of restore from keys)
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* fix: Improve exchange flow by adding a timeout to the call to fetch rate from providers
* fix: Adjust time limit for fetching rate to 7 seconds and add timelimit to fetching limits
* fix: Make fetch limits a Future.wait
* feat: Add currency for amount and estimated receive amount to confirm sending page for exchange
* fix: Remove unneeded code
* fix: Modify receive amount to reflect value coming from the individual exchange providers if available and ensure receiveAmount is calculated based on selected exchange provider's rate