Commit graph

127 commits

Author SHA1 Message Date
cyan
f8b0c0ad2a
CW-611-Refactor-Address-Handling (#1630)
* 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>
2024-09-28 05:38:23 +03:00
Matthew Fosse
62e0c2a592
litecoin mweb support (#1455)
* Fix stub creation

* Generate MWEB addresses

* Fix mweb address derivation

* Use camel-case

* Show utxos in tx list

* A few fixes

* Add spent processing

* Update balance

* Balance fixes

* Update address records

* Get rid of debounce hack

* Get sending up to the confirmation box

* Fee estimation

* Stop the daemon if plugin is unloaded

* Normal fee for non-mweb txns

* Fix fee estimation for send all

* Don't hash mweb addresses

* More fee fixes

* Broadcast mweb

* Remove test files

* One more

* Confirm sent txns

* Couple of fixes

* Resign inputs after mweb create

* Some more fixes

* Update balance after sending

* Correctly update address records

* Update confs

* [skip ci] updates

* [skip ci] add dep overrides

* working

* small fix

* merge fixes [skip ci]

* merge fixes [skip ci]

* [skip ci] minor fixes

* silent payment fixes [skip ci]

* updates [skip ci]

* save [skip ci]

* use mwebutxos box

* [skip ci] lots of fixes, still testing

* add rescan from height feature and test workflow build

* install go

* use sudo

* correct package name

* move building mweb higher for faster testing

* install fixes

* install later version of go

* go fixes

* testing

* testing

* testing

* testing

* testing

* should workgit add .github/workflows/pr_test_build.yml

* ???

* ??? pt.2

* should work, for real this time

* fix tx history not persisting + update build_mwebd script

* updates

* fix some rescan and address gen issues

* save [skip ci]

* fix unconfirmed balance not updating when receiving

* unspent coins / coin control fixes

* coin control fixes

* address balance and txCount fixes, try/catch electrum call

* fix txCount for addresses

* save [skip ci]

* potential fixes

* minor fix

* minor fix - 2

* sync status fixes, potential fix for background state issue

* workflow and script updates

* updates

* expirimental optimization

* [skip ci] minor enhancements

* workflow and script fixes

* workflow minor cleanup [skip ci]

* minor code cleanup & friendlier error message on failed tx's

* balance when sending fix

* experimental

* more experiments

* save

* updates

* coin control edge cases

* remove neutrino.db if no litecoin wallets left after deleting

* update translations

* updates

* minor fix

* [skip ci] update translations + minor fixes

* state fixes

* configure fix

* ui updates

* translation fixes

* [skip ci] addressbook updates

* fix popup

* fix popup2

* fix litecoin address book

* fix ios mwebd build script

* fix for building monero.com

* minor fix

* uncomment fix for state issues

* potential mweb sync fix (ios)

* remove print [skip ci]

* electrum stream potential fix

* fix ios build issues [skip ci]

* connection reliability updates, update kotlin code to match swift code, minor electrum error handling

* dep fixes

* minor fix

* more merge fixes

* bitcoin_flutter removal fixes

* [skip ci] fix always scan setting, swift updates

* updates

* fixes

* small fix

* small fix

* fix

* dart:convert != package:convert

* change address fixes

* update bitcoin_base to fix mweb address program checking

* fix ios xcode project [skip ci]

* updates

* more fixes

* more fixes

* ensure we don't initialize mweb until we really have to

* fix regression

* improve mweb reliability

* [skip ci] wip adress generation

* wip

* wip

* [skip ci] wip

* updates [skip ci]

* ios fixes

* fix workflows + ios fix

* test old mweb version

* update go version and mwebd hash

* review updates pt.1

* Update cw_bitcoin/lib/litecoin_wallet.dart

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>

* remove non-litecoin address types regex [skip ci]

* more minor fixes

* remove duplicate [skip ci]

* Update lib/store/settings_store.dart

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>

* script updates, swap params on createLitecoinWalletService

* topup fix

* [skip ci] wip

* [skip ci] testing

* [skip ci] file didn't get saved

* more address generation reliability fixes

* [skip ci] minor

* minor code cleanup

* hopefully prevents send issue

* [skip ci] wip address changes

* [skip ci] save

* save mweb addresses, auto-restart sync process if it gets stuck [skip ci]

* address generation issues mostly resolved

* more performance fixes

* [skip ci]

* this should maybe be refactored, pt.1

* separate mweb balances, pt.2

* [skip ci] save

* add translations [skip ci]

* fix sending with mweb amounts

* works for simple mweb-mweb case, further testing needed

* found an edge case

* [skip ci] make failed broadcast error message less serious

* minor

* capture all grpc errors and much better error handling overall

* [skip ci] minor

* prevent transactions with < 6 confirmations from being used + hide mweb balances if mweb is off

* fix

* merge fixes pt.1 [skip ci]

* fix mweb tags

* fix

* [skip ci] fix tag spacing

* fix transaction history not showing up

* fix mweb crash on non-fully deleted mweb cache, sync status ETA, other connection fixes

* [skip ci] minor code cleanup

* [skip ci] minor code cleanup

* additional cleanup

* silent payments eta fixes and updates

* revert sync eta changes into separate pr

* [skip ci] minor

* [skip ci] minor

* revert sync status title

* review fixes, additional cleanup

* [skip ci] minor

* [skip ci] minor

* [skip ci] minor

* trigger build

* review fixes, pt.2

* check if still processing utxos before updating sync status [skip ci]

* [skip ci] minor

* balance fix

* minor

* minor

* [skip ci] minor

* [skip ci] fix test net btc

* don't use mwebd for non-mweb tx's

* [skip ci] minor cleanup

* don't show all 1000+ mweb addresses on receive page

* minor cleanup + additional logging

---------

Co-authored-by: Hector Chu <hectorchu@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
2024-09-28 05:22:25 +03:00
Serhii
4c55d96647
reset address balances before updating unspents (#1707) 2024-09-28 02:02:37 +03:00
Omar Hatem
11584844d5
Verify seed phrase (#1700)
* 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]
2024-09-26 04:51:38 +03:00
cyan
bab45a9e36
add missing error messages (#1696) 2024-09-23 19:18:21 +03:00
tuxsudo
6592b7a3c5
Generic enhancements (#1668)
* Add more choices for pin code required duration

* Fix spacing in Cake Features

* Update Cake Features cards

* Update Cake Pay image

* Add NanoGPT image

* Update Sign/Verify strings

* Update more flags

* update moonpay currency name

* Update more icons

* Add friendly message for less than minimum fee

* fix translation [skip ci]

* Fix icon theming and add Telegram link

* Fix color issue for restore screen

* rename matic poly to pol

* minor potential fix [skip ci]

* minor fix [skip ci]

* Update analysis_options.yaml

* fix translations

* fix translation

* revert regex changes

* Update bitcoin_cash_electrum_server_list.yml

* Update address_validator.dart

---------

Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
2024-09-23 17:10:40 +03:00
Serhii
32e119e24f
rbf-fixes-recomended-fee-rate (#1684)
* rbf fixes

* Revert "rbf fixes"

* fix replaced transactions

* re-format electrum_wallet.dart [skip ci]

* minor fixes [skip ci]

---------

Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
2024-09-20 23:57:43 +03:00
David Adegoke
4e2e5e708c
CW-580: BIP39 Wallets Shared Seed Implementation: "One Seed - Multiple Wallets" (#1307)
* feat: Implement creating new BIP39 wallet with same seed used for other owned BIP39 wallets

* feat: Use same seed for BIP39 Wallets

* Update pre_existing_seeds_page.dart

* Feat: BIP39 Same seed wallet creation using the Common Parent Wallet Strategy

* feat: Finalize implementing preexisting seeds

* feat: Implement shared bip39 wallet seed for Bitcoin wallet type

* feat: Implement shared bip39 wallet seed for Litecoin wallet type

* feat: Implement shared bip39 wallet seed for BitcoinCash wallet type

* feat: Implement shared bip39 wallet seed for Nano wallet type, although disabled entry for now

* fix: Remove non bip39 seed wallet type from listing

* feat: Implement grouped and single wallets lists in wallets listing page and implement editing and saving group names

* fix: Issue where the ontap always references the leadwallet, also make shared seed wallets section header only display when the multi wallet groups list is not empty

* fix: Add translation and adjust the way the groups display

* feat: Activate bip39 as an option for creating Nano wallet types

* fix: Handle edgecase with creating new wallet with group address, handle case where only bip39 derivation type is allowed with child wallets, activate nano wallet type for shared seed

* chore: Modify the UI to fit adjustment made on figma

* fix: Disposed box triggering error in hive and causing wallet list view to display error

* fix: Switch wallet groups title in wallets list page and also fix issue with renaming groups

* Update lib/reactions/bip39_wallet_utils.dart [skip ci]

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>

* Update lib/router.dart [skip ci]

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>

* fix: Review fixes: Combine New Wallet Page Type arguments into a single model

* fix: Review fixes: Add failure guard when fetching mnemonic for selected wallet in pre-existing wallets page

* fix: Review fixes - Add loading indicator when mnemonic is being selected for wallet

* fix: Review fixes - Modify variable name to avoid clashes

* fix: Review fixes - Access WalletManager through dependency injection instead of service location

* fix: Review fixes - Add testnet to convertWalletInfoToWalletlistItem function, and adjust according where used

* fix: Review fixes - Add walletPassword to nano, tron and wownero wallets and confirm it is properly handled as it should be

* fix: Remove leadWallet, modify filtering flow to reflect this and not depend on leadWallet, and adjust privacy settings

* fix: Review Fixes - Modify restore flow to reflect current nature of bip39 as default for majority of wallet types

* fix: QA Fixes - Modify preexisting page to display wallet group names if set, and display them in incremental order if not set

* fix: Add wallet group description page and rename pre-existingseeds page to wallet group display page

* fix: Product Fix - Rename pre-existing seeds file name to wallet group display filename

* fix: Product fix - Separate multiwallets groups from single wallets and display separately

* fix - Product Fix - Add empty state for wallet group listing when creating a new wallet, adjust CTAs across buttons relating to the flow also

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-09-20 21:25:08 +03:00
Rafael
3a391f10a3
Sp enhancements (#1672)
* 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>
2024-09-20 17:24:25 +03:00
Serhii
c6a4c69084
CW-719 Transaction dates shows incorrectly (#1685)
Some checks are pending
Cache Dependencies / test (push) Waiting to run
* ignore 0 height

* fix date format
2024-09-18 01:50:31 +03:00
Rafael
0e106834bc
bump dep (#1679)
Some checks failed
Cache Dependencies / test (push) Has been cancelled
2024-09-11 18:54:13 +03:00
Serhii
215e785198
Update electrum_wallet.dart (#1664)
Some checks are pending
Cache Dependencies / test (push) Waiting to run
2024-09-10 21:39:07 +03:00
Serhii
125fdf8b62
quick fix for the reconnection issue (#1671)
* Update electrum.dart

* Update electrum.dart

* Duration seconds: 5 [skip ci]
2024-09-09 21:08:21 +03:00
Omar Hatem
f072e79bb6
V4.19.5 v1.16.5 (#1654)
Some checks are pending
Cache Dependencies / test (push) Waiting to run
* some not enough enhancements for sync status

* update app versions

* minor fix
2024-08-27 20:49:12 +03:00
Omar Hatem
518bfbe40d
fetch accurate fee rates from Cake's mempool api (#1649)
* fetch accurate fee rates from mempool api

* remove duplicate exception handler onError call [skip ci]

* add the domain name
2024-08-26 20:07:25 +03:00
Konstantin Ullrich
ce21098e98
Cw 488 seed offset (#1631)
* CW-488 minor code cleanup

* Add Derivation Path selector for BTC and LTC

* CW-488 Initial Passphrase Impl

* CW-488 Final Passphrase Impl

* Quick Fix of language Service

* CW-488 Implement PR Suggestions

* CW-488 Implement PR Suggestions

* CW-488 Implement Passphrase for Bitcoin Cash

* CW-488 Implement Passphrase for Bitcoin Cash

* CW-488 Implement Passphrase for Bitcoin Cash

* remove monero and wownero support for passphrase until merged [skip ci]

* CW-488 Apply requested change

* CW-488 Add Passphrase to QR

* CW-488 Fix Seed generation

* CW-488 Implement Electrum Passphrases

* CW-488 Add Seed Length Selector to BIP39 Seeds

* CW-488 Minor fix [skip ci]

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-08-26 20:06:54 +03:00
Serhii
40f85d215b
Rbf fixes issues op return data plus ThorChain (#1648)
* 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>
2024-08-24 16:30:01 +03:00
Serhii
4c2d061363
rbf fixes issues sum utxo and fee calculation (#1625)
Some checks are pending
Cache Dependencies / test (push) Waiting to run
* 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
2024-08-23 16:19:42 +03:00
Rafael
c0e0cf02aa
Fix testnet (#1632)
* fix: failed connection and misc changes

* default isTestnet to false

---------

Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
2024-08-22 01:31:20 +03:00
Matthew Fosse
49d2560eb9
fix (#1633)
Some checks are pending
Cache Dependencies / test (push) Waiting to run
2024-08-21 22:49:47 +03:00
OmarHatem
fe4b3e4eb0 push haven fix
Some checks are pending
Cache Dependencies / test (push) Waiting to run
2024-08-18 03:48:25 +03:00
Omar Hatem
c59d39d42d
Generic fixes (#1619)
* update fee rates

* periodically update fees

* minor enhancements

* minor enhancements

* some improvements
add solana node

* handle empty hex as null

* minor improvement

* fix imports

* fix app hanging on splash screen

* update app versions
temporarily disable sign/verify for hardware wallets
2024-08-18 03:37:15 +03:00
Matthew Fosse
7c9b72483a
Socket null handling (#1610)
* 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
2024-08-18 02:28:45 +03:00
Matthew Fosse
83ef61e928
Cw 565 sign messages (#1378)
* 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>
2024-08-18 02:10:27 +03:00
Rafael
102139b061
feat: more info on privkey error (#1612)
Some checks are pending
Cache Dependencies / test (push) Waiting to run
2024-08-16 04:34:41 +03:00
Rafael
d96bab43c9
fix: p2sh addr (#1607) 2024-08-15 02:40:40 +03:00
cyan
1ce60d62b3
CW-676 Add Linux scripts to build monero_c for linux platform (#1527)
* Revert "Revert btc address types"

This reverts commit a49e57e3

* Re-add Bitcoin Address types
Fix conflicts with main

* fix: label issues, clear spent utxo

* chore: deps

* fix: build

* fix: missing types

* feat: new electrs API & changes, fixes for last block scanning

* Update Monero

* not sure why it's failing

* Enable Exolix
Improve service updates indicator
New versions

* Add exolix Api token to limits api

* Ignore reporting network issues

* Change default bitcoin node

* Merge main and update linux version

* Update app version [skip ci]

* New versions

* Fix conflicts and update linux version

* minor fix

* feat: Scan Silent Payments homepage toggle

* chore: build configure

* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes

* fix: invalid Object in sendData

* feat: improve addresses page & address book displays

* feat: silent payments labeled addresses disclaimer

* fix: missing i18n

* chore: print

* feat: single block scan, rescan by date working for btc mainnet

* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert

* feat: delete silent addresses

* fix: red dot in non ssl nodes

* fix: inconsistent connection states, fix tx history

* fix: tx & balance displays, cpfp sending

* feat: new rust lib

* chore: node path

* fix: check node based on network

* fix: missing txcount from addresses

* style: padding in feature page cards

* fix: restore not getting all wallet addresses by type

* fix: auto switch node broken

* fix: silent payment txs not being restored

* update linux version

* feat: change scanning to subscription model, sync improvements

* fix: scan re-subscription

* fix: default nodes

* fix: improve scanning by date, fix single block scan

* refactor: common function for input tx selection

* various fixes for build issues

* initial monero.dart implementation

* ...

* multiple wallets
new lib
minor fixes

* other fixes from monero.dart and monero_c

* fix: nodes & build

* update build scripts
fix polyseed

* remove unnecessary code

* Add windows app, build scripts and build guide for it.

* Minor fix in generated monero configs

* Merge and fix main

* fix: send all with multiple outs

* add missing monero_c command

* add android build script

* update version

* Merge and fix main

* undo android ndk removal

* Fix modified exception_handler.dart

* Temporarily remove haven

* fix build issues

* fix pr script

* Fixes for build monero.dart (monero_c) for windows.

* monero build script

* wip: ios build script

* refactor: unchanged file

* Added build guides for iOS and macOS. Replaced nproc call on macOS. Added macOS configuration for configure_cake_wallet.sh script.

* Update monero.dart and monero_c versions.

* Add missed windows build scripts

* Update the application configuration for windows build script.

* Update cw_monero pubspec lock file for monero.dart

* Update pr_test_build.yml

* chore: upgrade

* chore: merge changes

* refactor: unchanged files [skip ci]

* Fix conflicts with main

* fix for multiple wallets

* update app version [skip ci]

* Add tron to windows application configuration.

* Add macOS option for description message in configure_cake_wallet.sh

* fix missing encryption utils in hardware wallet functions [skip ci]

* fix conflicts

* Include missed monero dll for windows.

* reformatting [skip ci]

* fix conflicts with main

* Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with  for configuration script. Remove cw_shared configuration for cw_monero.

* fix: scan fixes, add date, allow sending while scanning

* add missing nano secrets file [skip ci]

* ios library

* don't pull prebuilds android

* Add auto generation of manifest file for android project even for iOS, macOS, Windows.

* remove tron

* feat: sync fixes, sp settings

* feat: fix resyncing

* store crash fix

* make init async so it won't lag
disable print starts

* fix monero_c build issues

* libstdc++

* merge main and update version

* Fix MacOS saving wallet file issue
Fix Secure Storage issue (somehow)

* update pubspec.lock

* fix build script

* Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet.

* fix: date from height logic, status disconnected & chain tip get

* fix: params

* feat: electrum migration if using cake electrum

* fix nodes
update versions

* re-enable tron

* update sp_scanner to work on iOS [skip ci]

* bump monero_c hash

* bump monero_c commit

* bump moneroc version

* bump monero_c commit

* Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to .

* fix: wrong socket for old electrum nodes

* update version

* Fix unchecked wallet type call

* get App Dir correctly in default_settings_migration.dart

* handle previous issue with fetching linux documents directory [skip ci]

* backup fix

* fix NTFS issues

* Add Tron
Update Linux version

* Close the wallet when the wallet gets changed

* fix: double balance

* feat: node domain

* fix: menu name

* bump monero_c commit

* fix: update tip on set scanning

* fix: connection switching back and forth

* feat: check if node is electrs, and supports sp

* chore: fix build

* minor enhancements

* fixes and enhancements

* solve conflicts with main

* Only stop wallet on rename and delete

* fix: status toggle

* minor enhancement

* Monero.com fixes

* bump monero_c commit

* update sp_scanner to include windows and linux

* merge main

* Update macOS build guide. Change brew dependencies for build unbound locally.

* fix: Tron file write, build scripts

* - merge linux with Monero Dart
- Temporarily disable Monero

* fix other issues with linux

* linux ci
fix build script

* Update pr_test_build_linux.yml

install required packages

* add linux desktop dependencies

* don't use apk in linux build releases

* don't copy the file to test-apk

* fix linux runtime issues

* remove libc++_shared.so

* fix issues with linux

* prepare both android and linux (because otherwise it will fail)

* ci script updates

* run apt update

* bump image to ubuntu 22.04
note: remember to put it down later

* bump python version

* remove some dependencies

* remove unused import

* add missing dependencies

* fix dependencies

* some fixes

* remove print [skip ci]

* Add back RunnerBase.entitlements
minor fixes [skip ci]

* fix memory leak / infinite recurrsion when opening xmr wallet

* url_launcher_linux: 3.1.1 # https://github.com/flutter/flutter/issues/153083

* fix conflicts with main

* handle walletKeysFile with encryptionUtils

* update app version [skip ci]

* add wownero [skip ci]

---------

Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
Co-authored-by: Rafael Saes <git@rafael.saes.dev>
Co-authored-by: M <m@cakewallet.com>
Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
2024-08-13 01:18:14 +03:00
Rafael
bbba41396d
Fixes node connection, and sp, and electrum (#1577)
* refactor: remove bitcoin_flutter, update deps, electrs node improvements

* feat: connecting/disconnecting improvements, fix rescan by date, scanning message

* chore: print

* Update pubspec.yaml

* Update pubspec.yaml

* handle null sockets, retry connection on connect failure

* fix imports

* fix transaction history

* fix RBF

* minor fixes/readability enhancements [skip ci]

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
Co-authored-by: Matthew Fosse <matt@fosse.co>
2024-08-12 02:49:45 +03:00
Omar Hatem
fb33a6f23d
Cw 688 avoid wallet file corruption (#1582)
* 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>
2024-08-09 23:15:30 +03:00
Matthew Fosse
ba433ef6f3
Request timeout fix (#1584)
Some checks failed
Cache Dependencies / test (push) Has been cancelled
* always handle RequestFailedTimeoutException

* undo change that was for testing
2024-08-08 13:27:04 +03:00
Konstantin Ullrich
15d88e0f8d
Add Ledger Flex Support (#1576) 2024-08-08 13:17:17 +03:00
Omar Hatem
2347f922fe
update app version (#1551)
Some checks failed
Cache Dependencies / test (push) Has been cancelled
2024-07-23 05:18:59 +03:00
Omar Hatem
311fff2c44
Generic fixes (#1528)
* update target sdk for android

* make welcome page scrollable
fix moonpay url params

* fix null exception when restoring from backup

* fix ui issues

* hopefully fix the timeout exception error report [skip ci]

* validate electrum addresses

* disable silent payments for hardware wallets

* fixes and enhancements
2024-07-21 03:46:43 +03:00
Konstantin Ullrich
d6c5b84188
Fix Bitcoin not sending on Ledger (#1539) 2024-07-19 20:31:11 +03:00
Omar Hatem
f902a644db
Node Auto-reconnect and connectivity enhancements (#1513)
* Add auto-reconnect
Enhance connectivity issues

* minor enhancement [skip ci]

* minor: remove core secrets since it's empty

* pending transactions fix

* temporary fix for RBF

* remove unused hashes from cache key

* fix minimum limits check

* Add authentication to services api

* update polyseed

* override hashlib package
2024-07-06 17:42:17 +03:00
Konstantin Ullrich
7dd15914d0
Normalize text to fix french (#1504)
Some checks failed
Cache Dependencies / test (push) Has been cancelled
* Normalize text to fix french

* Normalize text to fix french

* Fix French?

* Fix French?

* Fix French?

* Polyseed v0.0.5
2024-06-24 19:38:32 +03:00
Matthew Fosse
591342ec6a
electrum updates (#1449)
* 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
2024-06-18 08:08:03 +03:00
Omar Hatem
5a6502a35a
SP Enhancments (#1483)
Some checks are pending
Cache Dependencies / test (push) Waiting to run
* 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
2024-06-10 09:30:58 +02:00
Rafael
1dd2c7da56
Sp fixes (#1487)
* feat: missing desktop setting menu

* fix: sp utxo pending

* fix: change to electrs only scanning, initial migration, and btc-electrum as null ssl
2024-06-10 09:22:57 +02:00
Rafael
5545137047
Sp fixes (#1471)
* feat: missing desktop setting menu

* fix: sp utxo pending
2024-05-31 14:55:28 +03:00
Rafael
96b9b60f50
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base

* feat: allow scanning elect-rs using get_tweaks

* feat: scanning and adding addresses working with getTweaks, add btc SP address type

* chore: pubspec.lock

* chore: pubspec.lock

* fix: scan when switching, fix multiple unspents in same tx

* fix: initial scan

* fix: initial scan

* fix: scanning issues

* fix: sync, storing silent unspents

* chore: deps

* fix: label issues, clear spent utxo

* chore: deps

* fix: build

* fix: missing types

* feat: new electrs API & changes, fixes for last block scanning

* feat: Scan Silent Payments homepage toggle

* chore: build configure

* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes

* fix: invalid Object in sendData

* feat: improve addresses page & address book displays

* feat: silent payments labeled addresses disclaimer

* fix: missing i18n

* chore: print

* feat: single block scan, rescan by date working for btc mainnet

* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert

* feat: delete silent addresses

* fix: red dot in non ssl nodes

* fix: inconsistent connection states, fix tx history

* fix: tx & balance displays, cpfp sending

* feat: new rust lib

* chore: node path

* fix: check node based on network

* fix: missing txcount from addresses

* style: padding in feature page cards

* fix: restore not getting all wallet addresses by type

* fix: auto switch node broken

* fix: silent payment txs not being restored

* feat: change scanning to subscription model, sync improvements

* fix: scan re-subscription

* fix: default nodes

* fix: improve scanning by date, fix single block scan

* refactor: common function for input tx selection

* fix: nodes & build

* fix: send all with multiple outs

* refactor: unchanged file

* Update pr_test_build.yml

* chore: upgrade

* chore: merge changes

* refactor: unchanged files [skip ci]

* fix: scan fixes, add date, allow sending while scanning

* feat: sync fixes, sp settings

* feat: fix resyncing

* fix: date from height logic, status disconnected & chain tip get

* fix: params

* feat: electrum migration if using cake electrum

* fix nodes
update versions

* re-enable tron

* update sp_scanner to work on iOS [skip ci]

* fix: wrong socket for old electrum nodes

* Fix unchecked wallet type call

* fix: double balance

* feat: node domain

* fix: menu name

* fix: update tip on set scanning

* fix: connection switching back and forth

* feat: check if node is electrs, and supports sp

* chore: fix build

* minor enhancements

* fixes and enhancements

* solve conflicts with main

* fix: status toggle

* minor enhancement

* Monero.com fixes

* update sp_scanner to include windows and linux

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 17:43:48 +03:00
Omar Hatem
7b5204fdaa
Generic enhancements (#1456)
* 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
2024-05-22 04:18:04 +03:00
Serhii
aeff8972ea
Update electrum_wallet.dart (#1443) 2024-05-21 05:12:12 +03:00
Konstantin Ullrich
82391d4a5b
Generic fixes (#1454)
* Handle Bluetooth is disabled

* Allow signMessage using ledger_bitcoin

* Fix desktop wallet selection dropdown
2024-05-17 16:15:19 +03:00
Omar Hatem
e92e8df3aa
Generic enhancements (#1447)
* Disable hardware wallets for Monero.com

* disable ble permission on Monero.com

* code cleanup [skip ci]

* Fix missing Trade bytes issue
2024-05-13 23:59:11 +03:00
Matthew Fosse
e5be737236
bio auth on mac + package updates for 3.19.3/5 (#1398)
* 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>
2024-05-06 22:55:05 +03:00
Konstantin Ullrich
5eabdcdca1
Cw 604 integrate bitcoin ledger (#1407)
* CW-503 Prepare Ledger integration

* CW-503 Revert Tor ignore

* CW-503 Add Connect Device Page

* CW-503 Add createWalletFromDevice for monero

* CW-503 Add Connect Device Page

* CW-503 Add Connect Device Page

* CW-503 Add Debug Options

* CW-503 Add proper hardware wallet selection screen

* CW-503 Minor design changes on connect_device_page

* CW-503 Add Create Wallet from Ledger

* CW-503 Spent Ledger ETH Funds

* CW-503 Minor fixes

* CW-503 Fix Merge conflicts

* CW-503 Fix Merge conflicts

* CW-503 Fix Merge conflicts

* CW-503 Fix minor conflicts

* CW-503 Improve Ledger BLE Communication

* CW-503 Improve Ledger BLE Communication

* CW-503 Rollback Monero Test code

* CW-503 Fix Execution failed for task :app:checkReleaseDuplicateClasses

* CW-503 Better Error-Exceptions

* CW-503 Add SetPinScreen before restore from hardware-wallet

* CW-503 override web3dart to use cake's git hosted version

* CW-503 Implement ledger sign messages

* CW-503 Implement ledger sign messages and send erc20 tokens

* CW-503 Fix merge conflicts

* CW-503 Fix merge conflicts

* CW-503 Use dep override for ledger_flutter

* CW-503 Ledger ERC20 finalisation

* CW-503 More graceful error handling

* CW-503 Even more graceful error handling & remove debug code

* CW-503 Minor Changes for Vik

* CW-503 Fix USB connection

* CW-503 Maybe this overrides web3dart finally

* Indicate Loading on the first 5 Wallet Accounts

* Prepare Ledger Bitcoin

* Fix conflicts with main

* Add Bluetooth permission to iOS [skip ci]

* add privacyinfo for ios [skip ci]

* update PrivacyInfo.xcprivacy [scip ci]

* ios shit [skip ci]

* Improve bitcoin xpub

* Resolve open Todos regarding iOS Support

* Minor debug

* Remove erc20 dependency to have more granular control over the tx UX

* Create Bitcoin Wallets using xpub

* Create Bitcoin Wallets using xpub

* Better error handling

* Improve Ledger account handling

* Add Bitcoin Support for Ledger

* Add Bitcoin Support for Ledger

* Add Bitcoin Support for Ledger

* Implement requested Changes

* Implement requested Changes

* Minor fix

* Implement requested Changes

* Implement requested Changes

* Add comment to remind me

* Enable RBF for Bitcoin Ledger

* Fix merge conflicts

* Update wallet_info.dart

* Cw 503 ledger support (#1310)

* CW-503 Prepare Ledger integration

* CW-503 Revert Tor ignore

* CW-503 Add Connect Device Page

* CW-503 Add createWalletFromDevice for monero

* CW-503 Add Connect Device Page

* CW-503 Add Connect Device Page

* CW-503 Add Debug Options

* CW-503 Add proper hardware wallet selection screen

* CW-503 Minor design changes on connect_device_page

* CW-503 Add Create Wallet from Ledger

* CW-503 Spent Ledger ETH Funds

* CW-503 Minor fixes

* CW-503 Fix Merge conflicts

* CW-503 Fix Merge conflicts

* CW-503 Fix Merge conflicts

* CW-503 Fix minor conflicts

* CW-503 Improve Ledger BLE Communication

* CW-503 Improve Ledger BLE Communication

* CW-503 Rollback Monero Test code

* CW-503 Fix Execution failed for task :app:checkReleaseDuplicateClasses

* CW-503 Better Error-Exceptions

* CW-503 Add SetPinScreen before restore from hardware-wallet

* CW-503 override web3dart to use cake's git hosted version

* CW-503 Implement ledger sign messages

* CW-503 Implement ledger sign messages and send erc20 tokens

* CW-503 Fix merge conflicts

* CW-503 Fix merge conflicts

* CW-503 Use dep override for ledger_flutter

* CW-503 Ledger ERC20 finalisation

* CW-503 More graceful error handling

* CW-503 Even more graceful error handling & remove debug code

* CW-503 Minor Changes for Vik

* CW-503 Fix USB connection

* CW-503 Maybe this overrides web3dart finally

* Indicate Loading on the first 5 Wallet Accounts

* Fix conflicts with main

* Add Bluetooth permission to iOS [skip ci]

* add privacyinfo for ios [skip ci]

* update PrivacyInfo.xcprivacy [scip ci]

* ios shit [skip ci]

* Resolve open Todos regarding iOS Support

* Remove erc20 dependency to have more granular control over the tx UX

* Better error handling

* Improve Ledger account handling

* Implement requested Changes

* Implement requested Changes

* Implement requested Changes

* Implement requested Changes

* Fix merge conflicts

* Update wallet_info.dart

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>

* Fix merge conflicts

* Fix merge conflicts

* Minor Fix to derivations

* Update cw_bitcoin/lib/bitcoin_wallet.dart [skip ci]

* Update cw_bitcoin/lib/bitcoin_wallet.dart [skip ci]

* Update cw_bitcoin/lib/electrum_wallet.dart [skip ci]

* Fix backward compatibility issues

* Merge Tron

* Fix Tron with HW changes

* fix ble on iOS
fix tron address validation

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-05 04:44:50 +03:00
Omar Hatem
e87353c012
fix backward compatibility issue with existing electrum wallets (#1424) 2024-05-01 19:21:04 +03:00
Matthew Fosse
509b92e97f
Bitcoin derivations (#1089)
* - Update and Fix Conflicts with main

* Add Balances for ERC20 tokens

* Fix conflicts with main

* Add erc20 abi json

* Add send erc20 tokens initial function

* add missing getHeightByDate in Haven [skip ci]

* Allow contacts and wallets from the same tag

* Add Shiba Inu icon

* Add send ERC-20 tokens initial flow

* Add missing import in generated file

* Add initial approach for transaction sending for ERC-20 tokens

* Refactor signing/sending transactions

* Add initial flow for transactions subscription

* Refactor signing/sending transactions

* Add home settings icon

* Fix conflicts with main

* Initial flow for home settings

* Add logic flow for adding erc20 tokens

* Fix initial UI

* Finalize UI for Tokens

* Integrate UI with Ethereum flow

* Add "Enable/Disable" feature for ERC20 tokens

* Add initial Erc20 tokens

* Add Sorting and Pin Native Token features

* Fix price sorting

* Sort tokens list as well when Sort criteria changes

* - Improve sorting balances flow
- Add initial add token from search bar flow

* Fix Accounts Popup UI

* Fix Pin native token

* Fix Enabling/Disabling tokens
Fix sorting by fiat once app is opened
Improve token availability mechanism

* Fix deleting token
Fix renaming tokens

* Fix issue with search

* Add more tokens

* - Fix scroll issue
- Add ERC20 tokens placeholder image in picker

* - Separate and organize default erc20 tokens
- Fix scrolling
- Add token placeholder images in picker
- Sort disabled tokens alphabetically

* Change BNB token initial availability [skip ci]

* Fix Conflicts with main

* Fix Conflicts with main

* Add Verse ERC20 token to the initial tokens list

* Add rename wallet to Ethereum

* Integrate EtherScan API for fetching address transactions
Generate Ethereum specific secrets in Ethereum package

* Adjust transactions fiat price for ERC20 tokens

* Free Up GitHub Actions Ubuntu Runner Disk Space

* Free Up GitHub Actions Ubuntu Runner Disk space (trial 2)

* Fix Transaction Fee display

* Save transaction history

* Enhance loading time for erc20 tokens transactions

* Minor Fixes and Enhancements

* Fix sending erc20
fix block explorer issue

* Fix int overflow

* Fix transaction amount conversions

* Minor: `slow` -> `Slow` [skip-ci]

* initial changes

* more base config stuff

* config changes

* successfully builds!

* save

* successfully add nano wallet

* save

* seed generation

* receive screen + node screen working

* tx history working and fiat fixes

* balance working

* derivation updates

* nano-unfinished

* sends working

* remove fees from send screen, send and receive transactions working

* fixes + auto receive incoming txs

* fix for scanning QR codes

* save

* update translations

* fixes

* more fixes

* more strings

* small fix

* fix github actions workflow

* potential fix

* potential fix

* ci/cd fix

* change rep working

* seed generation fixes

* fixes

* save

* change rep screen functional

* save

* banano changes

* fixes, start adding ui for PoW

* pow node changes

* update translations

* fix

* account changing barely working

* save

* disable account generation

* small fix

* save

* UI work

* save

* fixes after merge main

* fixes

* remove monero stuff, work on derivation ui

* lots of fixes + finish up seed derivation

* last minute fixes

* node related fixes

* more fixes

* small fix

* more fixes

* fixes

* pretty big refactor for pow, still some bugs

* finally works!

* get transactions after send

* fix

* merge conflict fixes

* save

* fix pow node showing up twice

* done

* initial changes

* small fix

* more merge fixes

* fixes

* more fixes

* fix

* save

* fix manage pow nodes setting appearing on other wallets

* fix contact bug

* fixes

* fiat fixes

* save

* save

* save

* save

* updates

* cleanup

* restore fix

* fixes

* remove deprecated alert

* fix

* small fix

* remove outdated warning

* electrum restore fixes

* fixes

* fixes

* fix

* derivation fixes

* nano fixes pt.1

* nano fixes pt.2

* bip39 fixes

* pownode refactor

* nodes pages fixes

* observer fix

* ssl fix

* remove old references

* remove unused imports

* code cleanup

* small fix

* small potential fix

* save

* derivation fixes

* deterministic fix

* fix pt.2

* derivation class fixes

* review fixes from nano that also apply here

* formatting

* stuff that should've stayed deleted

* post merge fixes

* remove problematic imports and duplicate changes

* Delete lib/nano/nano.dart

* move wallet restore page proxy code to the view model

* fix dashboard page indicators being the same color

* debatably better refactoring of derivationInfo, migration needed

* additional refactor improvements

* blanket comment some stuff out to narrow down this issue

* refactor fixes

* fix nano exchange

* fix , bug, i.e. replace , with . when making a nano transaction

* fix nano sending, update restore page wording, and other minor fixes

* write migration for existing bitcoin and nano wallets

* merge fixes

* minor fixes

* use default derivation type when restoring from qr code

* fixes for restoring

* fixes

* fixes

* merge fix

* Fix issues with Creating Electrum and Restoring Bip39

* updates & fixes

* Add missing case for no transactions BIP39 wallet restore

* Make the default BIP39 the 84 derivation path

* Add Samourai Deposit

* litecoin mnemonic error fix

* Bip39 passphrase support (#1412)

* save

* passphrase working

* fix for when loading wallets + translation update

* minor fix

* Fix Nano

* minor fix [skip ci]

---------

Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>

* change error state seed conditions into throwables [skip ci]

* litecoin fixes

* Bip39 minor enhancements (#1416)

* minor enhancements

* rename bitcoin_derivations -> electrum_derivations

* Remove duplicate derivations
handle default case

* minor fix

* Enable passphrase for Litecoin

* obscure text of passphrase

---------

Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
Co-authored-by: Justin Ehrenhofer <justin.ehrenhofer@gmail.com>
Co-authored-by: fossephate <fosse@book.local>
2024-04-30 03:49:56 +03:00
Omar Hatem
9e4a7f4331
Enhance bitcoin error message (#1399)
* Enhance bitcoin error message

* fix: unconfirmed spends, spend confirmed first, wrong balance exception

* Minor fixes

---------

Co-authored-by: Rafael Saes <git@rafael.saes.dev>
2024-04-26 22:29:31 +03:00