* 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
* test: Restore wallets integration automated tests
* Fix: Add keys back to currency amount textfield widget
* fix: Switch variable name
* fix: remove automation for now
* tests: Automated tests for Create wallets flow
* tests: Further optimize common flows
* tests: Add missing await for call
* tests: Confirm Seeds Display Properly WIP
* tests: Confirm Seeds Display Correctly Automated Tests
* fix: Add missing pubspec params for bitcoin and bitcoin_cash
* feat: Automated Tests for Transaction History Flow
* fix: Add missing pubspec parameter
* feat: Automated Integration Tests for Transaction History flow
* test: Updating send page robot and also syncing branch with main
* test: Modifying tests to flow with wallet grouping implementation
* fix: Issue with transaction history test
* fix: Modifications to the PR and add automated confirmation for checking that all wallet types are restored or created correctly
* test: Attempting automation for testing
* test: Attempting automation for testing
* test: Print out working directory
* test: See if I can cut down time by removing the build step
* test: More logs
* test: Pubspec was not generated, checking if this fixes it
* test: Pubspec was not generated, checking if this fixes it
* test: Pubspec was not generated, checking if this fixes it
* test: Pubspec was not generated, checking if this fixes it
* test: Pubspec was not generated, checking if this fixes it
* test: Pubspec was not generated, checking if this fixes it
* test: Another trial
* test: Another trial
* test: Another trial
* test: Another trial
* test: Another trial
* test: Another trial
* fix: Adjust config file
* test: Add commands to generate files and set codebase up as new
* test: try another route
* test: try another route - 2
* test: try another route
* test: try another route - 2
* test: Uncomment KVM and optimizations-a
* test: Try with sudo permissions-a
* test: Try again
* test: Pause build and rename steps, see how faster it resolves
* test: Try using working directory
* test: Check details of current working directory
* test: Switch test run command from flutter drive to flutter test
* test: Adding secrets to CI workflow
* fix: add working directory to emulator and reactivate build step
* test: Add verbosity
* test: Check tat emulator is present and ready to connect
* test: Try a direct test to see if it'll trigger properly
* test: Try the flutter drive command
* test: Try uninstalling before running
* test: Create an aggregator test file as the entry point for all tests
* test: Try without awaiting each test
* test: Another trial at getting combined tests running
* test: Use a test runner script that'll be responsible for running all available integration tests
* test: Add command to make integration test runner file an executable
* test: Fix failing exchange flow test
* test: fix failing exchange flow test
* test: Fix issue with send flow test
* test: Fix issue with confirm seeds flow test
* test: Modify create and restore flows to reflect modified onboarding flow
* chore: Remove package declaration in AndroidManifestBase file to fix issue of it being deprecated
* test: Bump up flutter version
* fix: Add meld keys
* chore: Remove package name declarations from AndroidManifests
* better write close function definition
comment integration tests workflow for now
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* replace qr scanner with fast_scanner
* bump java version
* fix qr code scanning
* add flashlight and camera switch
* airgap work
* commitTransactionUR
* bump fast_scanner, fix configure script
* add option to restore wallet from NERO qr format
* fixes to the flow and logic
use gsed or otherwise it fails?
* remove Expanded() to fix URQR on release builds
* cache key to allow app updates
* rename cache key
* [skip ci] cache key.jks in cache_dependencies
* update fast_scanner to work on ios, with light mlkit dependency
* ui fixes
* error handling fix
* update fast_scanner to drop iOS dependency
* changes from review
* Update lib/entities/qr_scanner.dart
* changes from review
* remove useless commit
* don't set state multiple times
remove return Container() for non monero wallets
* return on fail
don't handle empty qr codes
* set node as trusted
display primary address in seed screen
* fix wow and haven
* migrate node to trusted
* - update trusted node for existing users
- update locales
- fix conflicts
- move menu item
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* version 4.20.0
* update build numbers
* UI updates and script fix for ios bundle identifier
* disable mweb for desktop
* change hardcoded ltc server ip address
electrum connection enhancement
* MWEB enhancements 2.0 (#1735)
* additional logging and minor fixes
* additional logging and minor fixes
* addresses pt.1
* Allow Wallet Group Names to be the same as Wallet Names (#1730)
* fix: Issues with imaging
* fix: Allow group names to be the same as wallet names
* fix: Bug with wallet grouping when a wallet is minimized
* fix: Bug with wallet grouping when a wallet is minimized
* logs of fixes and experimental changes, close wallet before opening next
* save
* fix icon
* fixes
* [skip ci] updates
* [skip ci] updates
* updates
* minor optimizations
* fix for when switching between wallets
* [skip ci] updates
* [skip ci] updates
* Update cw_bitcoin/lib/litecoin_wallet.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* Update cw_bitcoin/lib/litecoin_wallet.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* mobx
* mostly logging
* stream fix pt.1 [skip ci]
* updates
* some fixes and enhancements
* [skip ci] minor
* potential partial fix for streamsink closed
* fix stream sink closed errors
* fix mweb logo colors
* save
* minor enhancements [skip ci]
* save
* experimental
* minor
* minor [skip ci]
---------
Co-authored-by: David Adegoke <64401859+Blazebrain@users.noreply.github.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* fix menu list removing from original list
---------
Co-authored-by: Matthew Fosse <matt@fosse.co>
Co-authored-by: David Adegoke <64401859+Blazebrain@users.noreply.github.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>
* 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>
* 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>
* 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>
* chore: Setup
* feat: Add NowNodes for Tron Wallet and switch it to be the default node for Tron
* feat: Add NowNodes for Solana Wallet and switch it to be the default node for Solana
* fix: Add nownodes entry to secrets
* fix: Remove pubspec.lock in shared external
* fix conflicts with main
* change secrets names
* feat: Remove Solana NowNodes config
* feat: Remove Solana NowNodes config
* feat: Revert commented out code
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* update build numbers
* fix UI issue
* Add Nano to secret generation properly [skip ci]
* remove to utc from expiration time
* update app version
Remove tron
* 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