Commit Graph
3309 Commits
Author SHA1 Message Date
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
JorgeandGitHub 8f4eed4d9b Fixes to Spanish translation (#2407) 2025-07-25 15:09:34 +03:00
Konstantin UllrichandGitHub 93d3582e8e Cw 1106 enable ledger for desktop through ble (#2410)
* fix: remove redundant mobile check for hardware wallet support and add macOS BLE permission handling

* fix: update connect_device_page platform check and add macOS Bluetooth entitlements

* fix: Ledger Monero on Windows
2025-07-25 15:07:17 +03:00
rottenwheelandGitHub b24ebd8ba9 spanish: miscellaneous fixes (#2408)
* fix: remove comma in OpenAlias title

* spanish: some necessary, minor rewording for new background sync strings

* en: fix unmetered network typo

* en: fix 'Estabilishing Tor connection' typo start-up screen

* readme: update Cake Wallet logo in banner

* spanish: miscellaneous fixes
2025-07-24 04:12:57 +03:00
Konstantin UllrichandGitHub dea9f3d8a1 feat: add NDEPS and DEPS ERC20 Tokens (#2403) 2025-07-23 23:48:09 +03:00
David AdegokeandGitHub 15f1b95dd2 fix: Confirm Send Button Blank in Accessible Navigation Mode (#2406) 2025-07-23 22:13:40 +03:00
Konstantin UllrichandGitHub ce5b838d96 fix: improve German translations and button color logic in exchange trade page (#2400) 2025-07-23 01:51:35 +03:00
SerhiiandGitHub 696699e457 Merge pull request #2399 from cake-tech/CW-1133-Add-ability-to-copy-Cake-Pay-trade-ID-from-send-bottom-sheet
CW-1133-Add-ability-to-copy-Cake-Pay-trade-ID-from-send-bottom-sheet
2025-07-22 12:58:10 +03:00
Serhii 37e9d2c6e3 ui: extract RoundedIconButton 2025-07-22 11:46:26 +03:00
Serhii cff10f3a51 ui: add copy button 2025-07-21 19:49:08 +03:00
Konstantin UllrichandGitHub 9b768e8ff1 Better windows installer (#2387)
* feat: Add redist to windows installer

* feat: Add new windows icon
2025-07-19 01:47:28 +03:00
43f2225e0c CW-1130-deuro-fixes-improvements (#2392)
* feat: add support for Ethereum EIP-681 URIs in PaymentRequest and implement test coverage

* test: add unit test for EIP-681 URI handling with contract and no chainId [skip-ci]

* fix(CW-1114): rounding error for really large numbers

* fix: wrong decimals for eth fee display

* fix: limit fractional digits to a maximum of `decimals` in `format_fixed` function [skip-ci]

* test: add unit tests for `formatFixed` function

* refactor: replace custom balance formatting with `formatFixed` utility function

* refactor: improve dEuroViewModel formatting and computation logic

* refactor: extract and simplify interest action handlers in dEuro savings page

* fix: deuro add should show edit Add bottom sheet

* feat: block user from entering amount bigger than the max

* feat: use new tooltip bottomsheet for dEuro

* feat: add pull down to refresh dEuro savings

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-07-19 01:47:06 +03:00
cyanandGitHub b6a7dde8e4 fix: frozen coins displaying incorrect amounts in monero (#2385) 2025-07-18 05:21:28 +03:00
Konstantin UllrichandGitHub fea63632fe feat: add support for Ethereum EIP-681 URIs in PaymentRequest and implement test coverage (#2375)
* feat: add support for Ethereum EIP-681 URIs in PaymentRequest and implement test coverage

* test: add unit test for EIP-681 URI handling with contract and no chainId [skip-ci]

* fix(CW-1114): rounding error for really large numbers

* fix: wrong decimals for eth fee display

* fix: limit fractional digits to a maximum of `decimals` in `format_fixed` function [skip-ci]

* test: add unit tests for `formatFixed` function
2025-07-17 19:16:54 +03:00
0da7047c2a fix: incorrect restore height sometimes being set on monero (#2390)
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-07-17 06:41:34 +03:00
OmarHatem c5bf8d1363 run tests only when instructed 2025-07-17 06:24:27 +03:00
c417207007 CW 882: Integrate Seed Verification Flow To Integration Tests (#1966)
* fix: Generic fixes

* fix: Modify hasSufficientFundsForRent to work for spl transactions

* feat: Integrate seed verification into integration tests

* fix: Adjust workflow file

* chore: Remove previous working directory

* fix: Revert change

* chore: Remove step to setup kvm, already existing in new setup

* chore: Remove a couple of steps from workflow

* chore: Try switching test commands

* fix: Switch back to flutter drive

* fix: Flutter error when running tests with Flutter drive

* feat: Add screenshots to individual test pages and modify integration test script to add a watch dog to prevent infinite running on CI

* feat: Implement transaction success info robot and fix issue with send flow test

* fix: Improve integration testing for exchange flow and clean up logic and resulting errors

* fix: Handle duplicate words for seeds and test restore through seeds

* fix: Optimize implementation for transactions history test

* Skip seed verification when in debug and when not in CI flow

* chore: Remove print statements and add TODOs

* fix: Upgrade version for upload action

* fix: Add missing secrets to testing workflow file

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

 # Conflicts:
 #	lib/src/screens/wallet_keys/wallet_keys_page.dart

* add zano seed [skip slack] [run tests]

* disable exchange_flow_test.dart [run tests] [skip slack]

* Run tests on linux always (since nobody ever used [run tests])

* fix tests after ui updates

* [skip slack] tests update

* Fixing tests WIP

* Fix create wallet integraiton test flow

* Update and fix Exchange flow test flow

* Switch printV to printToConsole

* Adjustments to the the flows on Send and Exchange

* feat: Modify Exchange and send tests to fit new flow

* fix:
- Pause screenshots for now, results in a super large json response file
- Fix delay on send bottomsheet because of pumpAndSettle animation
- Fix issue with integration test runner script

* fix(integration-tests): Fix issues relating to send flow integration tests.

This change:
- Handles the slider during the send confirmation flow during the send integration test
- Adds the missing seeds for the restore flow to the relevant workflow files

* feat: Enhance Send flow Automation Integration Test Flow

This change:
- Updates test wallet address in CommonTestConstants.
- Modifies startAppFlow to accept a dynamic key.
- Improves waitForSendPage and checkIfSendPageIsVisible methods for better page visibility handling.
- Adds validateWalletBalance method to ensure sufficient funds before sending.
- Enhances transaction success flow handling in SendPageRobot.

* refactor: Update SendPageRobot for improved transaction state handling

This change:
- Adds support for the TransactionCommitted state in the SendPageRobot.
- Removes the handleSendResult method to streamline the send flow.
- Enhances checks for successful transaction completion by verifying navigation to the DashboardPage.
- Improves visibility handling for the contact addition dialog in the transaction success flow.

* chore: Update automated integration test workflow

This change:
- Updates apkl file naming to use sanitized branch names for better consistency.
- Adds a step to output system environment information to aid in troubleshooting.
- Enhances KVM setup with checks to see if device exists and there is proper permission.
- Adjusts working directory references for Android emulator setup.

* chore: Enhance automated integration test workflow

This change:
- Adds cleanup steps for existing emulator processes to ensure fresh environment.
- Updates APK file naming to use sanitized branch names for consistency.
- Enhances debug output for APK file creation and searching, improving visibility during the workflow.

* chore: Modify apk file renaming step in workflow

* chore: Enhance automated integration test workflow

This change:
- Increases timeout for integration tests to 60 minutes.
- Adds a timeout of 90 minutes for the automated integration test job.
- Improves KVM setup with detailed checks and outputs for existing device, permissions, and functionality.
- Adds system resource checks to provide information on memory, disk space, and CPU cores during the workflow.
- Implements error handling for the integration test runner to ensure graceful failure reporting.

* chore: Enhance AVD configuration and emulator management in integration test workflow

* refactor: Improve transaction history flow tests and item visibility checks

This change:
- Enhances the scrolling logic in the CommonTestCases to check for item visibility before scrolling.
- Adds error handling and logging for transaction history checks in TransactionsPageRobot.
- Adds comprehensive item checks and scrolling for more reliable tests.

* refactor: Modify integration test runner for improved error handling and logging

This change:
- Implements error handling and logging throughout the integration test runner.
- Introduces a cleanup function for data directories and signal handling.
- Enhances test execution with retry logic and detailed duration tracking.
- Provides a comprehensive summary of test results, including passed and failed tests with their durations.

* refactor: Update error handling in transaction history flow tests

* refactor: Remove manual emulator startup logic from integration test workflow

This change simplifies the automated integration test workflow by removing the manual emulator startup process, which was previously included to handle cases where no emulator was running. The workflow now focuses on checking the emulator status and gathering device information without attempting to start an emulator manually.

* refactor: Enhance integration test workflow and error handling

* feat: Add emulator readiness checks and enhance send flow tests

This change:
- Modifies the send flow test to send $1 worth of any of the wallet currencies
- Set up switching between test wallet in case there's zero balance in any of the wallets when the test is run
- Add a mini script to check emulator readiness for the tests

* fix: More CI workflow errors for the tests

* refactor: Update emulator readiness checks and error handling in CI workflow

* fix: Readiness check successful but broken pipe when accessing settings service, plus some syntax errors in the workflow

* refactor: Enhance integration tests with improved visibility checks and timing adjustments

This change:
- Adds visibility checks for widgets before interaction in various test flows.
- Introduces consistent pump and settle durations to ensure UI stability during tests.
- Refines scrolling logic to confirm wallet types are visible before selection.
- Updates tap actions to include warnings for missed taps, improving test reliability.

* fix: Issues with confirm seeds and keys Automated test

* fix: Add missing await for tap calls

* fix: Temporarily disable CI workflow and minor cleanup to testflows

* fix: Add missing keys to CI workflow

* chore: Temporarily disable Automation CI

* chore: Cleanup

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net>
2025-07-17 06:23:04 +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
80e24a8a1d CW-809: Fix iOS iCloud Related Issues (#2334)
* feat(ios-storage-issue): Remove 2FA/PIN persistence across app re-installs in iOS

This error occurs due to the keychain persisting auth data on user devices connected to the same iCloud

* feat(reset-service): Remove PIN persistence for app reinstall

* Update lib/main.dart [skip ci]

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-07-16 06:54:40 +03:00
David CumpsandGitHub 28eb83cc8f Migrate to new Chainflip endpoints (#2386)
* feat: migrate to new chainflip endpoints

* chore: remove debug comments
2025-07-16 06:49:12 +03:00
OmarHatem 1a5774da40 ignore OS refusing connection issue [skip ci] 2025-07-16 00:06:40 +03:00
OmarHatem f38b1bb19b minor ui fix [skip ci] 2025-07-15 21:32:04 +03:00
OmarHatem 7ae4679073 update app versions [skip ci] 2025-07-13 03:31:12 +03:00
OmarHatem 234c3c08bd Merge remote-tracking branch 'origin/main' 2025-07-12 20:55:25 +03:00
OmarHatem f1a93a9b83 update build numbers 2025-07-12 20:55:16 +03:00
Konstantin UllrichandGitHub f749acbb96 fix: show disclaimer text (#2384) 2025-07-12 20:53:49 +03:00
Luis MiguelandGitHub 5f242cfee4 Onboarding messages translated to spanish (#2382)
* Improving spanish translation

* Improving spanish translation to the onboarding messages
2025-07-12 19:59:15 +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
cyanandGitHub 4009f64ee9 fix: wallet not reporting finishing sync (#2377) 2025-07-12 00:17:27 +03:00
Luis MiguelandGitHub 422f1e560c Spanish translation improvements (#2378)
* Improving spanish translation

* Improving spanish translation
2025-07-12 00:12:02 +03:00
SerhiiandGitHub ef84db5874 Cw 973 in app gift card redemption flow plus UI (#2285)
* refactor: cleanup cake_pay folder

* refactor: add My Cards tab on the main screen

* ui: add user card item

* refactor: cakePay purchase flow

* feat: add user card info

* refactor: auth flow

* refactor: theme data

* revert

* Update qr_widget.dart

* fix: update with new themes

* minor fixes

* feat: put redemption flow under a feature flag

* feat: implement simulated purchasing flow in debug mode

* feat: support LTC and MWEB payments

* Update savings_page.dart

* fix: UI fixes

* add Cake Pay transaction sent bottom sheet

* localization

* Update cake_pay_buy_card_page.dart

* addressing review comments

* fix marge conflicts
2025-07-11 23:56:35 +03:00
Konstantin UllrichandGitHub 203aff83f2 feat: add missing dEuro learn more links (#2376) 2025-07-11 16:27:26 +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
342269a496 3rd-party-disclaimer (#2372)
* feat: enhance dEuro Savings UI and functionality with fiat support and tooltips

* feat: add "Reinvest Interest" feature and improve dEuro Savings functionality

- Implemented the "Reinvest Interest" feature for dEuro Savings.
- Updated localized strings for multiple languages.
- Enhanced error handling for insufficient gas fees.
- Incorporated loading state and tooltips in Savings Card and Interest Card.
- Improved UI responsiveness and button state management.

* feat: localize deuro tooltips

* feat: enhance dEuro Savings with reinvestment feature and localized strings

- Added "Reinvest Interest" functionality for dEuro Savings.
- Updated localized strings across multiple languages.
- Improved modal bottom sheet handling for savings add/remove operations.
- Enhanced tooltips and UI responsiveness.

* feat: improve dEuro Savings page with info chips and localized strings

* Update res/values/strings_de.arb

* fix: update dEuro action type reset in transaction handling

* feat: add third-party disclaimer support and UI enhancements

* feat: add dEuro disclaimer functionality

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-07-11 03:29:54 +03:00
Konstantin UllrichandGitHub 3ba2e4283e CW-1125-d-euro-ui-enhancements (#2369)
* feat: enhance dEuro Savings UI and functionality with fiat support and tooltips

* feat: add "Reinvest Interest" feature and improve dEuro Savings functionality

- Implemented the "Reinvest Interest" feature for dEuro Savings.
- Updated localized strings for multiple languages.
- Enhanced error handling for insufficient gas fees.
- Incorporated loading state and tooltips in Savings Card and Interest Card.
- Improved UI responsiveness and button state management.

* feat: localize deuro tooltips

* feat: enhance dEuro Savings with reinvestment feature and localized strings

- Added "Reinvest Interest" functionality for dEuro Savings.
- Updated localized strings across multiple languages.
- Improved modal bottom sheet handling for savings add/remove operations.
- Enhanced tooltips and UI responsiveness.

* feat: improve dEuro Savings page with info chips and localized strings

* Update res/values/strings_de.arb

* fix: update dEuro action type reset in transaction handling
2025-07-11 01:36:40 +03:00
OmarHatem d67c32dff1 Merge remote-tracking branch 'origin/main' 2025-07-10 16:06:50 +03:00
OmarHatem b19f469116 remove devices mockup 2025-07-10 16:06:42 +03:00
rafael_xmrandGitHub 15491e8c61 fix: correct date (#2367) 2025-07-10 16:06:21 +03:00
OmarHatem db0c218030 Merge remote-tracking branch 'origin/main' 2025-07-10 15:46:34 +03:00
OmarHatem eb135cb3ec change github header logo 2025-07-10 15:46:24 +03:00
cyanandGitHub 3b9f1ce15e fix: monero wallets crashing when switching back from hardware wallet to another monero wallet (#2370) 2025-07-10 14:25:31 +03:00
0a3c51206c feat: allow all for no-fixed monero swaps (#2353)
* feat: allow all for no-fixed monero swaps

* fix: deposit amount calculation logic and remove unused print statements

* feat: integrate UnspentCoinsListViewModel into ExchangeViewModel for more streamlined unspent coins management

* fix: unpopulating the fiat field due to a race condition

* fix: ReceiveAmount not updating on all if bestRate changes

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2025-07-09 17:08:21 +03:00
David AdegokeandGitHub cd91c783d8 feat: Add Coin Title to Seed Page Title (#2364) 2025-07-09 17:06:17 +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
cyanandGitHub 37ed413a72 fix: make socket calls sync (#2363) 2025-07-09 05:18:51 +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
OmarHatem 5527ca01ca Remove LetsExchange [skip ci] 2025-07-09 02:08:10 +03:00
Konstantin UllrichandGitHub 3647e3043a CW-1017: Monero minor enhancements (#2347)
* feat: add max decimal handling for crypto amounts and test coverage

* fix: correct decimal point handling in `withMaxDecimals` and update related test

* fix: ensure amount formatting aligns with selected currency decimals in ReceivePage

* fix: ensure amount controller syncs with ViewModel in AddressPage and ReceivePage

* feat: add support for currency decimals and streamline amount handling logic

* fix: ensure crypto and fiat amounts sync correctly in Send ViewModel
2025-07-04 04:54:40 +03:00