* feat(CW-1148): Add Zano wallet support for message
* refactor(CW-1148): Simplify `signMessage` logic in Zano wallet API
* fix: remove unsupported wallet types from DFX Buy provider
* fix: correct DFX Buy provider parameter name from `amount` to `amount-in`
* sync status eta
* other necessary changes
* feat: Enhance Sync ETA display mode
- Enhance block rate calculation with weighted averages(accounts for network flunctuations and sync speed of more recent blocks while calculating eta, basically giving us more accuracy)
- Add option to switch between ETA and blocks remaining display in display settings
- Add placeholder ETA while gathering block data
* chore: Listen to smaller changes in eta
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
Co-authored-by: Blazebrain <davidadegoke16@gmail.com>
* 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
* 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>
* 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
* 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
* 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>
* 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
* 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>
* 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>