* 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>
* 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>
* 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
* update monero_c commit
* fix: no element in getAllUnusedSubAddresses
* fix: Wallet created with empty seed and 0 as private key
The error that was there is caused when
wallet is being created, but it errors out, so better handling of errors should be all that's needed, as it is not an error on it's
own, but rather lack of handling.
* fix: create transaction multi dest function is missing
* update monero_c hash
* fix: receiving on 2 different addresses shows as 1
* evm signature name
* hide depositWithExpiry and transfer transactions
* Update contact_list_view_model.dart
* remove erc20 token history when disabled
* 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>
* 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
* fix: Crypto amout formatting when calculating fiat amount
* fix: Issue with some token symbols coming up with a dollar sign
* feat: Split transactions to display on history screen token byh token
* fix: Remove restriction on balance length
* fix: error when a particular token is not available
* fix: Remove token transactions when a token is deleted
* fix: Revert previous change
* make added spl tokens enabled by default
fix issue when entering invalid contract address
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* bio auth mac fix
* remove comment and change duration from 2 to 0
* cherry pick previous changes
* fix empty string case
* add support for path for all currency types
* disable paths on electrum and monero nodes
* undo mac auth changes
* stuff I missed
* 1 last thing
* another thing I missed
* 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
* fixes for updated dart version, localization file updates
* remove accidental inclusion
* missed some unimplemented throws
* Fix exchanges not showing
* Fix button text on Monero receive screen
* Temp fix for ERC20 and SPL tokens not having raw value
* Manually Add Trocador new providers temporarily until API integration
* properly handle nullability of n2 node [skip ci]
---------
Co-authored-by: tuxsudo <tuxsudo@tux.pizza>
* Change order of currencies in currency picker
* Disable Background sync until implemented properly
* remove ability to use device pin in bio auth
* Fix condition
* Minor fix [skip ci]
* make notifications red dot go when opened
* Update Frozen coin text color
* Update Frozen coin text color
* Fetch internal transactions for eth and polygon
* Remove debug prints [skip ci]
* Fix Camera permission on iOS [skip ci]
---------
Co-authored-by: tuxsudo <tuxsudo@tux.pizza>
* fix: address book addresses, bch builder, exchange all fee estimation, bch coin control
* feat: new error framework for Electrum messages
* build: cw_bitcoin.dart
* feat: error improvements, localization, fix exchange amount mismatch
* chore: misc comment & print [skip ci]
* feat: refactor & simplify sendAll vs regular tx estimation and creation
- Since there were so many conditions inside a single function to alter its behavior if sendAll or not, it is easier and more readable to have separate sendAll and estimateTx functions that behave separately
* fix: wrong LTC dust
* feat: fee rate confirmation
* fix: wrong createTrade value when isSendAll is enabled
* fix bitcoin cash address parsing [skip ci]
* fix: form no amount validator, address book with multiple entries, exchange all below min error
* fix: improve string, fix sending with dust inputs at the top
* fix: two change outputs when re-estimating
* fix: sendAll with a little dust adds fees
* chore: sanity check [skip ci]
* fix: if the fee is higher than estimated
* Minor enhancement [skip ci]
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* New price API
* Fix test app package id
* Fix workflow
* change environment variable to use pr number [skip ci]
* Fix un-needed padding
* Fix raw value for usdtSol
* Remove duplicate fetching for balance and transactions at start [skip ci]
* Fix address validation of spl tokens
* Add Service Status
* Update lib/src/widgets/service_status_tile.dart
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
* Update lib/src/widgets/services_updates_widget.dart
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
* Update monero version
* update sodium script
* Change automatic priority fee rate
---------
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
* New versions
Fix issues with Monero.com
* Add sending for Solana tokens exchanges
* Add default keyword for P2WPKH [skip ci]
* chore: Switch solana commitment to confirmed to reduced blockhash expiration (#1313)
* Modify test workflow to send arm64-v8a build only
* Fix workflow build path
* Remove unnecessary reverse of txId
* Show case sensitive evm wallet address
* Revert default Cake Theme
add custom package id for test builds
* Fix workflow script
* Fix workflow
* hash branch name
* hash branch name
* Update versions
* Add user image to Nostr
Add fetching address from text for tokens
* Fix test app package id
* fix: Solana message improvement (#1316)
---------
Co-authored-by: Adegoke David <64401859+Blazebrain@users.noreply.github.com>
* inital migration changes
* feat: rest of changes
* minor fix [skip ci]
* fix: P2wshAddress & wallet address index
* fix: address review comments
* fix: address type restore
* feat: add testnet
* Fix review comments
Remove bitcoin_base from cw_core
* Fix address not matching selected type on start
* remove un-necessary parameter [skip ci]
* Remove bitcoin specific code from main lib
Fix possible runtime exception from list wrong access
* Minor fix
* fix: fixes for Testnet
* fix: bitcoin receive option dependency breaks monerocom
* Fix issues when building Monero.com
* feat: Transaction Builder changes
* fix: discover addresses, testnet restoring, duplicate unspent coins, and taproot address vs schnorr sig tweak
* fix: remove print
* feat: improve error when failed broadcast response
* feat: create fish shell env script
* fix: unmodifiable maps
* fix: build
* fix: build
* fix: computed observable side effect bug
* feat: add nix script for android build_all
* fix: wrong keypairs used for signing
* fix: wrong addresses when using fromScriptPubKey scripts
* fix(actual commit): testnet tx expanded + wrong addresses when using fromScriptPubKey scripts (update bitcoin_base deps)
* fix: self-send [skip ci]
* fix: p2wsh
* fix: testnet fees
* New versions
* Update macos build number
Minor UI fix
* fix: use new bitcoin_base ref, fix tx list wrong hex value & refactor hidden vs hd use
- if always use sideHd for isHidden, it is easier to simplify the functions instead of passing both which can be error prone
- (ps: now this could probably be changed, for example from isHidden to isChange since with address list we now see "hidden" addresses)
* Fix if condition to handle litecoin case
* fix: self-send, change address was always making direction incoming
* refactor: improve estimation function, add more inputs if balance missing
* fix: new bitcoin_base update, fixes script issues
* Update evm chain wallet service arguments
* Fix translation [skip ci]
* Fix translation [skip ci]
* Update strings_fr.arb [skip ci]
* fix: async isChange function not being awaited, refactor to reduce looping into a single place
* fix: _address vs address, missing p2sh
* fix: minor mistake in storing p2sh page type [skip ci]
* refactor: use already matched addresses property
* feat: improved perfomance for fetching transaction histories
* feat: continue perfomance change, improve address discovery only to last address by type with history
* fix: make sure transaction list is sorted by date
* refactor: isTestnet only for bitcoin
* fix: walletInfo type null case
* fix: deprecated p2pk
* refactor: make condition more readable
* refactor: remove unnecessary Str variant
* refactor: make condition more readable
* fix: infinite loop possible
* Revert removing isTestnet from other wallets [skip ci]
* refactor: rename addresses when matched by receive type
* Make the beta build [skip ci]
Remove app_env.fish
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* 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>