Commit Graph
220 Commits
Author SHA1 Message Date
e4672c75b7 CW-1135-add-support-for-bitbox-hww (#2476)
* chore: add ffi and ffigen dependencies to pubspec.yaml

* refactor: replace method channel with FFI implementation for MWeb module

* fix: correct `cd` command in build_mwebd.sh script

* chore: add go.sum file with dependency checksums

* fix: ensure ANDROID_NDK_VERSION is set before building and dynamically update NDK_BIN path

* fix: update NDK_BIN path to dynamically detect platform in build_mwebd.sh script

* refactor: remove unused mwebd dependencies and clean up CwMwebPlugin code

* Update scripts/android/build_mwebd.sh

Co-authored-by: cyan <cyjan@mrcyjanek.net>

* refactor: replace iOS MoneroWallet framework with Mwebd.xcframework and clean up plugin implementation [skip-ci]

* refactor: extract hardware wallet service abstraction

* refactor: extend BitcoinHardwareWalletService from HardwareWalletService and override account retrieval method

* feat: add BitBox hardware wallet support and implement manufacturer selection page with custom UI components

* refactor: update manufacturer selection UI and integrate custom gradient styles for ManufacturerOptionTile widget

* fix: mwebd ffi ios

* feat: add BitBox hardware wallet support, update derivation paths, and refactor hardware wallet credential implementations

* feat: add bitbox support and refactor the old ledger implementation

* feat: add BitBox hardware wallet support and refactor hardware wallet service implementations

* feat: refactor hardware wallet support to introduce abstraction for BitBox and Ledger; update device scanning, initialization, and UI integration

* fix: BitBox hardware wallet ethereum transaction signing

* chore: update BitBox Flutter path references and include build steps in CI workflows

* chore: update CI workflows to include `--dont-install` flag for BitBox Flutter builds

* refactor: replace if-else logic with switch-case for HardwareWalletViewModel factory

* feat: refactor hardware wallet services to introduce shared interface, improve ledger and bitbox implementations, and support additional transaction signing operations

* feat: add SVG assets for hardware wallet manufacturers (Foundation, Keystone, SeedSigner)

* feat: redesign hardware wallet restoration flow with improved routing, UI updates, and manufacturer-specific device selection handling

* fix: validate required BIP353 fields in transaction builder to prevent potential null value errors

* feat: improve BitBox transaction signing logs with detailed PSBT information

* refactor: update MWebFfi class to use non-nullable `lib` and improve address debug logging

* feat: add BitBox coin type constant and improve hardware wallet service extensibility

* chore: remove unused iOS/Android build scripts for mwebd

* feat: add BitBox SVG asset and update localization for hardware wallet connection instructions

* feat: update manufacturer tags and add Toast Easter egg for device selection interactions

* refactor: replace LedgerViewModel with HardwareWalletViewModel across providers and improve hardware wallet handling

* refactor: replace mweb.so with libmweb.so, use sync methods in MWebFfi, and update iOS/Android frameworks/scripts accordingly

* feat: add Ledger Nano X SVG asset to hardware wallet resources

* chore: unify mwebd build process in workflows, remove unused gomobile init command

* refactor: remove redundant print statement and unnecessary whitespace

* chore: add `gomobile init` to Android PR test build workflow

* chore: update Android PR test build workflow and add file existence check in `build_bitbox_flutter.sh`

* chore: override `ledger_usb_plus` dependency in pubspec_base.yaml

* feat: add verbose logging for BitBox connection and initialization process

* Update lib/view_model/hardware_wallet/bitbox_view_model.dart [skip ci]

* CW-1206-refactor-hardware-wallets-code (#2507)

* feat: add support for new hardware wallet types (Cupcake, Coldcard, SeedSigner) and improve QR Code handling

- Introduced new hardware wallet types (Cupcake, Coldcard, SeedSigner) with corresponding assets and localization updates.
- Updated QR Code format selection for hardware wallets with new formats (BCUR, BBQR) specific to devices.
- Improved hardware wallet restoration flow to include airgapped wallet handling via QR Code scanning.
- Refactored routing, view models, and dependency injection to accommodate new hardware wallet types.
- Enhanced UI for device manufacturer selection and QR Code format dialogs.

* feat: update hardware wallet assets and restoration flow

* feat: add changing airgapped wallet type

* feat: add Cupcake Man SVG asset to hardware wallet resources

* refactor: update Litecoin receive options to require wallet parameter and handle hardware wallets

* fix: debugging keystone integration
feat: support for zpub view only restore

* fix: seed signer restore

* fix: disable bitbox restoring (for now) [skip-ci]

* refactor: rename `isCupcake` to `isBitcoinViewOnly` for clarity [skip ci]

---------

Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>

* refactor: standardize hardware wallet connection handling across wallet types

---------

Co-authored-by: cyan <cyjan@mrcyjanek.net>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-10-01 18:20:40 +03:00
Omar HatemandGitHub e70814cf2b update build number (#2539)
* update build number
update swaptrade limit

* add more fixes and update build number
2025-09-25 17:39:39 +03:00
Konstantin UllrichandGitHub b2f8267407 chore: update dependencies in cw_bitcoin (#2538)
* chore: update dependencies in  cw_bitcoin

* chore: use cake-tech sp_scanner
2025-09-25 14:26:15 +03:00
Omar HatemandGitHub a84c563f89 fix mweb build on iOS (#2534) 2025-09-24 16:15:31 +03:00
cyanandGitHub e4726c2242 fix: initial 16KB pages support (#2523)
* fix: initial 16KB pages support

all .so dependencies other than reown walletkit (`libuniffi_yttrium.so`) which is a prebuild are 16KB now

* chore: update flutter to 3.29.3

* build: 16KB align go builds
ci: update action to check for 16KB align
[skip ci]

* chore: bump flutter to 3.32.0

* fix: replace prebuilds with built versions for 16KB alignment
fix: walletkit secure storage fix
2025-09-23 11:30:10 +03:00
5a27f0adcd fix: socket error handling (#2521)
* fix: silence unhandled async errors in bitcoin_base
fix: wrap all ProxySocket calls in try catch just to be sure

* revert to v11 since pr is merged [skip ci]

* revert to v11 since pr is merged [skip ci]

* revert to v11 since pr is merged [skip ci]

* revert to v11 since pr is merged [skip ci]

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-09-22 08:16:35 +03:00
Konstantin UllrichandGitHub 3508efb167 Cw 1220 fix payjoin dependency issues (#2519)
* feat: use latest payjoin deps

* build(cw_bitcoin_cash): bump required dart sdk for

* chore: update PR test build workflow container image to latest version

* chore: update container images in PR test build workflows to Flutter 3.29.0

* chore: update container images in PR test build workflows to Flutter 3.29.3

* chore: update uni_links dependency to latest commit hash [skip-ci]

* chore: remove unused PluginRegistrantCallback implementation from Application classes

* fix: CakeTor for PayJoin workers and add retry delay
2025-09-22 07:47:00 +03:00
309ad1836e use ffi for mweb (#2456)
* chore: add ffi and ffigen dependencies to pubspec.yaml

* refactor: replace method channel with FFI implementation for MWeb module

* fix: correct `cd` command in build_mwebd.sh script

* chore: add go.sum file with dependency checksums

* fix: ensure ANDROID_NDK_VERSION is set before building and dynamically update NDK_BIN path

* fix: update NDK_BIN path to dynamically detect platform in build_mwebd.sh script

* refactor: remove unused mwebd dependencies and clean up CwMwebPlugin code

* Update scripts/android/build_mwebd.sh

Co-authored-by: cyan <cyjan@mrcyjanek.net>

* refactor: replace iOS MoneroWallet framework with Mwebd.xcframework and clean up plugin implementation [skip-ci]

* fix: mwebd ffi ios

* refactor: update MWebFfi class to use non-nullable `lib` and improve address debug logging

* chore: remove unused iOS/Android build scripts for mwebd

* refactor: replace mweb.so with libmweb.so, use sync methods in MWebFfi, and update iOS/Android frameworks/scripts accordingly

* chore: unify mwebd build process in workflows, remove unused gomobile init command

---------

Co-authored-by: cyan <cyjan@mrcyjanek.net>
2025-09-12 16:13:00 +03:00
68a5821ad7 Cw 1127 sp utxos not updated saved correctly (#2472)
* fix: ETA for sp scan

* fix: missing SP unspent when re-open

* fix: address comments

* feat: check sp unspents for spendingTx

* feat: resolve comments

* fix: always starts scanning

* minor [skip ci]

* fix stuck at 1 block remaining

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-09-07 02:34:17 +03:00
cyanandGitHub 2dc95b2bf0 feat: use better embedded Tor (#2453)
* feat: use better embedded Tor

* update docs [skip ci]

* fix: update torch properly add minimum os version for iOS

* fix: use of invalid thread api on iOS

* fix: disable use of lzma and zstd system libraries

* fix: update torch_dart to work on linux
2025-09-05 23:07:26 +03:00
SerhiiandGitHub 2d52d4585f CW-1200-Dust-amount-error-when-sending-All (#2495)
* Add isSendAll parameter to exchange provider trade creation

* Improve send-all transaction handling and fee calculation

change.
2025-09-05 05:26:53 +03:00
rafael_xmrandGitHub f450bae82d feat: always construct wallet addresses with 5+ sp addresses (#2487) 2025-08-29 03:22:36 +03:00
SerhiiandGitHub ef85f512f9 CW-1152-Enable-selecting-used-addresses (#2483)
* allow selecting used Electrum addresses

* fix ci issue
2025-08-28 06:23:26 +03:00
cyanandGitHub 7b600c9cd8 ui: better QR switcher (#2477) 2025-08-23 01:27:01 +03:00
16f058e9e2 sp improv (#2437)
* fix(sp): proper address on details screen

* fix(sp): fields to update on incoming msg

* Update lib/bitcoin/cw_bitcoin.dart

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-08-21 05:06:35 +03:00
cyanandGitHub 2bb11f253a fix: uneven hex split for coldcard (#2465) 2025-08-19 20:14:32 +03:00
Omar HatemandGitHub ce1102187e Add custom background (#2442)
* Add ability to put a custom background to the home page

* add translation [skip ci]
2025-08-09 14:30:55 +03:00
OmarHatem f556603392 update bitcoin_base to fix version conflict issue 2025-08-09 04:58:58 +03:00
b6244cdd44 CW-1099-Add-Doge-coin-to-Cake-Wallet (#2396)
* add wallet create, restore and server integration

* update transaction fee calculation

* Updated tool/configure.dart

* Add dogecoin support to app_config

* minor fix [skip ci]

* Update model_generator.sh

* remove cw_bitcoin import from  lib/ directory

* update bitcoin base

* update default node

* add passphrase an QR restore option

* add Dogecoin support for message signing

* add Dogecoin support across wallet features

* fix edit subaddress

Updated the isElectrum getter to include WalletType.dogecoin, ensuring Dogecoin wallets are correctly identified as Electrum-compatible.

* Update configure.dart

* fix: address label not saved

* remove unused derivationPath

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

* address review comments

* fix generateInitialAddresses type

* enable auto switching for Dogecoin nodes

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-08-07 22:07:20 +03:00
4dc5be7640 sp debugging (#2426)
* feat(sp): debug logging feature

* fix(sp): Receiver

* feat(sp): handle and log failures and early returns

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-08-06 16:26:19 +03:00
David AdegokeandGitHub 186247d849 CW-1078: Electrum Wallets not reconencting correctly if the OS closes the connection (#2405)
* fix: Electrum Wallets not reconencting correctly if the OS closes the connection

* fix: Electrum connectivity bug. Enahnced checks and reconnect when needed, and Socket health logs page for logs

* fix: Add extra checks

* chore: Migrate to static log list instead of file storage

* fix: Electrum connectivity review comments

This change:
- Adds reset count for used trusted nodes
- Adds context guards for ScaffoldMessenger calls

* fix: Reset the state for _resetCount when there is a wallet switch
2025-07-31 17:24:54 +03:00
OmarHatem 723103d429 do not set SP listeners on hardware/view-only wallets 2025-07-30 05:57:42 +03:00
e4806ad141 CW948: feat: bitcoin view-only (#2261)
* feat: bitcoin view-only

* fix: add UR to cw_bitcoin, fix payjoin issue

* feat: add unsignedPsbt to PendingBitcoinTransaction

* wip

* feat: xpub restore from bitcoin URI QR

* feat(dev): debug UR codes [skip ci]

* fix: master fingerprint default in create bitcoin transaction

* fix: handle empty private key in bitcoin transaction building

* fix: show success dialog after btc ur transaction

* fix(ui): remove SP from UI in view only wallet

* fix(cw_bitcoin): tx sending on non-airgap

* fix(cw_bitcoin): disable all non-segwit addresses

* feat(ur): support BBQR for coldcard qr

* flutter 3.27.0 -> 3.27.4

* feat: raw xpub qr support for coldcard q

* fix: update ledger_bitcoin
fix: update switching button

* fix: restore button not showing up after scanning

* feat: commit raw tx (from coldcard Q)

* feat: legacy crypto-psbt support for seed signer

* chore: address comments from review

* fix(cw_bitcoin): disable sp and payjoin for cupcake

* feat: enable DNSSEC BIP353 in PSBT (#2397)

* feat: enable DNSSEC BIP353 in PSBT

* chore: put bitcoin view only behind a featureflag

* fix: update Monero wallet to work with new internal URQR return format

* feat: add "Restore from Cupcake App" option with localized strings

* feat: enable DNSSEC BIP353 in PSBT using dnssec-prover (#2401)

* fix: use dnssec-prover
chore: bump ndk to r28c

* fix: validate DNSSEC proof before updating the UI

* fix: rename button to copy debug info to not hide actions on URQR widget

---------

Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
2025-07-29 17:01:33 +03:00
10499814bb warn sp dust (#2402)
* feat: warn sp dust

* Update lib/view_model/send/send_view_model.dart

* fix condition

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-07-29 15:50:11 +03:00
David AdegokeandGitHub 4b2af63fa5 CW-974: Add support for automatic node switching. (#2361)
* feat: Add support for automatic node switching.

This change:
- Adds isTrustedNodeForSwitching property to Node class.
- Adds UI Checkbox to mark a node as trusted for automatic switching in Node create or edit form.
- Implements checkNodeHealth method in wallet classes to verify node connectivity.
- Adds NodeSwitchingService for managing automatic node switching based on health checks.
- Adds setting option for user to enable/disable automated node switching

* fix(automatic-node-switch): Set node health check interval to 5 minutes in NodeSwitchingService

* refactor: Update handler method

* feat: Automatic Node Switching Improvements

This change:
- Moves enable automatic node switch to the Manage Nodes Page
- Adds check to verify node health before attempting to sync in EVM, Sol and Tron Wallets.
- Modifies trusted ndoes list for monero
- Adds trigger for Node Health Check when app resumes from background

* fix: Increase default request timeout for Tron and update health check interval for node switch

* feat: Enhance Node health check functionality.

This change adds additional checks for token balance in EVM, Solana and Tron Wallets in checkNodeHealth.

* fix: Update health check interval to 30 seconds in NodeSwitchingService

* Update bitcoin_electrum_server_list.yml

* fix: Electru wallet not connecting to new node after switching

* fix: Automated Node Switch not working on Decred Wallet

* fix: Add more nodes for AutoSwitching

This change:
- Enables more nodes across wallet types for auto switching
- Modifies CTA for checkbox
- Renames flags to fit

* fix: Add migration function for setting up default nodes for autoswitching

* fix: Review and testing fixes

* chore: Adjust balance and history fetch timer
2025-07-25 16:42:59 +03:00
Anna SmithandGitHub 5a1bfc4061 chore: fix some minor issues in comments (#2389)
Signed-off-by: socialsister <seekseat@qq.com>
2025-07-16 19:16:37 +03:00
Omar HatemandGitHub ab5849c57d Make SP scanning, wallet-specific (#2383) 2025-07-12 19:58:11 +03:00
Omar HatemandGitHub 332d055efe v5.1.2 Release Candidate (#2374)
* v5.1.2 Release Candidate
Included:
- SP fixes
- Monero send All in exchange
- Monero enhancements
- Deuro flow improvements
- Exchanges enhancements
- Bug fixes

* fix fee currency for litecoin [skip ci]
2025-07-12 04:10:11 +03:00
rafael_xmrandGitHub 8207eed466 Cw 1118 silent payment fixes (#2373)
* fix: hive box error

* fix: address validator

* fix: guarantee save on sp scanned

* fix: too many saves

* feat: network based address validation

* fix: sp testnet

* feat: ltc validator

* fix: use general sp regex on address getter and remove print
2025-07-12 00:19:35 +03:00
0e23138040 feat: introduce feeFormattedValue and feeFormatted to remove string parsing in view model (#2366)
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-07-11 03:31:12 +03:00
rafael_xmrandGitHub 15491e8c61 fix: correct date (#2367) 2025-07-10 16:06:21 +03:00
HanluandGitHub 2e2af88e09 chore: fix some minor issues in comments (#2365)
Signed-off-by: liangmulu <liangmulu@outlook.com>
2025-07-09 10:11:06 +03:00
7d0f9323c8 fix: silent payments scanning using v10 (#2355)
* fix: silent payments scanning using v10

* chore: no http

* fix: - always scan shows the toggle as disabled after restart
     - refresh cancels sp scanning

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

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

* fix: get estimated date of sp tx

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-07-09 05:17:58 +03:00
Konstantin UllrichandGitHub d9fc4d7b57 3&4 fixes for Payjoin (#2358)
* fix: update Payjoin transaction details list item type to `TransactionDetailsListItem`

* fix: add error handling for unrecoverable Payjoin sender sessions

* fix: centralize Payjoin connectivity error handling with `_isPayjoinConnectivityError` function
2025-07-04 02:40:12 +03:00
Konstantin UllrichandGitHub b3c20a5818 Generic fixes for payjoin (#2342)
* feat: enhance Payjoin transaction details with block explorer link

* feat: enhance Payjoin transaction details with block explorer link

* fix: handle connectivity errors in Payjoin session operations
2025-06-27 16:38:09 +03:00
5082dc20f3 CW-519 Enable built-in Tor (#1950)
* tor wip

* Enable tor on iOS

* Prevent app lag when node is exceptionally slow (usually over tor)

* fix: logic in daemonBlockchainHeight refresh
fix: storing tor state

* Pin ledger_flutter_plus dependency to fix builds

* bump arti version

* wip

* add single httpclient

* route everything I was able to catch trough the built-in tor node

* Enable proxy for http.Client [run tests]

* add tor proxy support to cw_evm, cw_tron and cw_polygon [run tests]

* remove log pollution, cleanup [skip slack]

* fix tests not working in latest main [skip slack] [run tests]

* remove cw_wownero import

* fix build issues

* migrate all remaining calls to use ProxyWrapper
add a CI action to enforce using ProxyWrapper instead of http/http.dart to prevent leaks

* fix tor background sync (will work on test builds after #2142 is merged and this PR is rebased on top)

* wip [skip ci]

* relicense to GPLv3 add socks5 license, build fixes

* use ProxyWrapper instead of http in robinhood

* Revert "relicense to GPLv3"

* feat(cw_bitcoin): support socks proxy and CakeTor

* fix(tor): migrate OCP and EVM over to ProxyWrapper()

* chore: cleanup
fix: show tor loading screen when app is starting

* fix: tor switch properly dismisses fullscreen loading dialog
fix: connectToNode after tor startup on app start

* fix(tor): status check for xmr/wow/zano

* fix(tor): onramper request fix

* fix(api): ServicesResponse is now being cached and doesn't fetch data everytime DashboardViewModel is being rebuilt
fix(tor): do not fallback to clearnet when tor failed.
fix(tor): do not leak connections during app startup
chore: refactor bootstrap() function to be separated into bootstrapOffline and bootstrapOnline
fix(cw_bitcoin): migrate payjoin to use ProxyWrapper

* [skip ci] remove print

* address comments from review

* fix: derusting tor implementation

Instead of rust-based Arti I've moved back to the
OG C++ tor implementation.
This fixed all issues we had with Tor.
- onion services now work
- all requests are going through without random errors
- we don't have to navigate a maze of multiple forks of multiple packages
- fully working `torrc` config file (probably will be needed for Tari).
- logging for Tor client
- and so on.

feat: network logging tab
feat: use built-in proxy on Tails - this should resolve all issues for Tails users (needs testing though)

* fix conflicts with main
bump https to fix build issue
relax store() call

* fix(cw_wownero): tor connection
fix(tor): connection issues

* fix(cw_evm): add missing chainId
fix(cw_core): solana rpc fix

* feat: mark tor as experimental
fix: drop anonpay onion authority
fix: drop fiatapi onion authority
fix: drop trocador onion authority
fix: disable networkimage when tor is enabled
fix: handle cakepay errors gracefully

* fix re-formatting [skip ci]

* changes from review

* Delete android/.kotlin/sessions/kotlin-compiler-2468481326039681181.salive

* fix missing imports

* Update pubspec_base.yaml

---------

Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
2025-06-20 22:56:18 +03:00
Konstantin UllrichandGitHub 4b137bc968 CW-1091-payjoin-error-handeling (#2317)
* feat: stop polling payjoin on switch wallet

* refactor: improve Payjoin session handling and cleanup unused methods

- Replaced `initReceiver` with `getUnusedReceiver` to reuse existing Payjoin sessions.
- Streamlined session initialization by removing `spawnNewReceiver`.
- Adjusted wallet sync reactions to resume Payjoin sessions when necessary.

* fix: Receiver.fromJson correctly handle parameter format in Payjoin manager

* fix: try reloading unspents if unspents are empty; No Unpsents available are now recoverable errors

* fix: ensure transaction details display only if transactionInfo is available and adjust payjoin success status handling

* fix: adjust payjoin success status handling for pending transactions

* fix: add error handling for Payjoin initialization and receiver creation [skip-ci]

* fix: add unrecoverable error handling for Payjoin sender sessions
2025-06-19 19:55:41 +03:00
8457a45c2a update-payjoin (#2281)
* feat: upgrade to flutter_payjoin 0.23.0

* fix: dependency discrepancy freezed_annotation

* feat(cw_bitcoin): use latest payjoin deps

* ci: update rust toolchain

* Update pubspec.yaml

* trial: downgrade flutter payjoin ffi

* some checks

* trial 2

* [skip ci] use correct image for CI

* fix: bump flutter sdk to 3.29.0

* partial revert

---------

Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-06-11 19:44:06 +03:00
OmarHatem 418fdb62d3 v5.0.1 [skip ci] 2025-05-29 18:09:39 +03:00
Omar HatemandGitHub d332377a2b Revert "FIX (#2283)" (#2298)
This reverts commit 7b8ddf9685.
2025-05-29 16:54:22 +03:00
7b8ddf9685 FIX (#2283)
* FIX!

* resolve conflicts with main

* undo debug changes

* fix: methods

* fix: methods2

* Fix Tron issue

* fix: 1k limit & reaching top

* fix: missing unspents

* fix: missing commit

---------

Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
2025-05-25 22:28:08 +03:00
OmarHatem b872b43b75 fix hive error 2025-05-21 05:19:23 +03:00
OmarHatem 79faeb98af add cake relay server 2025-05-20 21:25:00 +03:00
Omar HatemandGitHub 914561716d v4.28.0 Release Candidate (#2260)
* v4.28.0 Release Candidate

* Fix Android deeplinking

* minor [skip ci]

* update app versions [skip ci]

* merge main

* - Re-enable SwapTrade
- Hide Keyboard on opening fee selection

* handle old backups import

* - Fix seed type UI
- Temp fix for Deleting Monero wallet

* update build number [skip ci]

* minor nullability handling

* disable payjoin for SP
2025-05-16 13:51:36 +03:00
82e3ebf4fa implement-payjoin (#1949)
* Initial Payjoin

* Initial Payjoin

* More payjoin stuff

* Minor fixes

* Minor fixes

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Fix minor bug causes by data inconsistency in the btc utxos

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Initial Payjoin

* Initial Payjoin

* More payjoin stuff

* Minor fixes

* Minor fixes

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Fix minor bug causes by data inconsistency in the btc utxos

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Minor cleanup

* Fix Rebase issues

* Move PJ Receiver to isolate

* Add Payjoin Setting

* Payjoin Sender are now isolated

* Added Payjoin sessions to tx overview. Fix Fee issue with payjoin

* Clean up code

* Fix taproot for payjoin

* Fix CI Errors

* Add Payjoin UI elements and details page

* Add Payjoin UI elements and details page

* Fix Translations

* feat: Detect Payjoin URIs in pasted text and show to the User sending Payjoin

* feat: rename pjUri to payjoinURI for more code clarity

* Update res/values/strings_pl.arb

Co-authored-by: cyan <cyjan@mrcyjanek.net>

* Update cw_bitcoin/lib/payjoin/manager.dart

Co-authored-by: cyan <cyjan@mrcyjanek.net>

* Update cw_bitcoin/lib/payjoin/manager.dart

Co-authored-by: cyan <cyjan@mrcyjanek.net>

* feat: Disable Payjoin per default

* feat: Disable Payjoin fully if disabled or no Inputs available

* feat: Resume Payjoin if app comes back to foreground

* chore: Revert overly aggressive code formats

* feat: show correct Payjoin amount for receivers

* feat: Improved payjoin status

* feat: Show payjoin errors on payjoin details screen

* deps: update flutter to 3.27.4

* feat: Revert localisations

* bug: Remove duplicate transaction id on payjoin details

* style: remove double await in payjoin sender

* refactor(cw_bitcoin): Refactor method signatures and convert constructor to factory

* refactor(cw_bitcoin): Refactor wallet service and PSBT signer for cleaner code

Removed unnecessary `CakeHive` dependency and refactored `BitcoinWallet` initialization to use `payjoinSessionSource`. Improved code readability in `PsbtSigner` by reformatting lines and simplifying constructor methods for `UtxoWithPrivateKey`.

* fix: Resume Payjoin Sessions and load PJUri after sleep

* feat: Add "Copy Payjoin URL button" to receive screen

* fix: Add "Payjoin enabled"-Box below QR Code on the receive screen

* fix: Set payjoin_enabled color to black independent of the theme

* refactor: Payjoin session management and cleanup unused code.

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
Co-authored-by: cyan <cyjan@mrcyjanek.net>
2025-05-12 20:33:14 +03:00
SerhiiandGitHub 4448adb49d Cw 925 improve automatic subaddress generation behavior (#2217)
* fix: update usedAddresses for monero

* fix: subaddresses generation for bitcoin

* fix: minor fix

* fix: update receive address UI when used

* minor fix [skip ci]
2025-04-30 19:11:36 +03:00
tsinghuacoderandGitHub 46a2664b73 chore: fix some typos (#2187)
Signed-off-by: tsinghuacoder <tsinghuacoder@icloud.com>
2025-04-11 14:37:02 +02:00
40a0989956 CW-997 coin control enhancements / send ALL fixes (#2114)
* computed sending balance value

* files that didnt get added before

* monero + move unspent calc to view model

* working

* remove old code

* Update lib/view_model/send/send_view_model.dart

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-03-30 16:52:46 +02:00
0aa563ead7 v4.24.0 (#2102)
* - Add Decred Wallet
- Remove Haven Wallet
- Fix and Improve Solana Wallet
- Improve app usability and user experience
- User interface enhancements
- Bug fixes

* Release candidate feedback fixes

* Release candidate feedback fixes

* update release notes [skip ci]

* fix iOS stupidity [skip ci]

* minor fix

* decred: Do not create log file. (#2106) (#2107)

Co-authored-by: JoeGruffins <34998433+JoeGruffins@users.noreply.github.com>

* fix Monero HWW

* fix Monero view only wallet

* fix background sync for hardware and viewonly wallets

* check for status on correct wptr

* minor fixes [skip ci]

---------

Co-authored-by: JoeGruffins <34998433+JoeGruffins@users.noreply.github.com>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
2025-03-25 03:49:54 +02:00
102ab8dbe6 CW-875 BackupServiceV3 (#2064)
* implement v3 backup system

- Add new BackupServiceV3 with chunked backup support and checksums
- Implement json-based metadata in backup system
- Instead of binary file export a .zip file that user can open and
see that it is a cake backup
(should also prevent 3rd party software from corrupting binary
data inside of the file, in case it doesn't checksum will fail,
and user will know for sure that backup got corrupted)
- Update flutter to 3.27.4 to use archive ^4.x.x (it offers in memory
archive operations)

* fix wallets not getting restored properly

* prevent out of memory errors on files that are way too big during restore

* Update lib/view_model/backup_view_model.dart [skip ci]

* Update lib/core/backup_service.dart [skip ci]

* Update lib/core/backup_service.dart

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-03-22 03:16:54 +02:00