* fix: Enhance WalletConnect URI handling and validation, better handle errors
* fix: Disable swipe to send if wallet is not synchronized
* fix: Handle session expiry gracefully
* fix: Disable swipe to send if wallet is not synced
* feat: initialize cw_arbitrum package with essential files
- Implement ArbitrumClient for transaction handling
- Add ArbitrumWallet and related classes for wallet management
- Establish transaction history and info classes for Arbitrum transactions
- Add ArbitrumWalletService for wallet operations and management
* feat: Add arbitrum related secrets to workflow
* feat: Add nodes for arbitrum
* feat: Add Arbitrum support to cryptocurrency handling
* refactor: Update Arbitrum currency references from 'ARB' to 'ETH'
* feat: Add Arbitrum support to wallet type and transaction handling
* feat: Add Arbitrum URL schemes to Android and iOS configurations
* feat: Add Arbitrum SVG icons and a WebP image
* feat: Setup Arbitrum proxy
* fix: Add localization
* feat: Integrate Arbitrum support across various configurations and files
- Updated cakewallet.bat to include Arbitrum in app configuration.
- Added Arbitrum node list to pubspec_base.yaml.
- Modified Android, iOS, Linux, and macOS app configuration scripts to support Arbitrum.
- Introduced Arbitrum output path and generation logic in configure.dart.
- Enhanced wallet type and pubspec generation to include Arbitrum.
- Added Arbitrum-related secrets in secret_key.dart.
* feat: Enhance Arbitrum integration with new URI class and updates across various components
- Introduced ArbitrumURI class for handling Arbitrum payment URIs.
- Updated seed validator, wallet creation service, and other components to support Arbitrum.
- Added Arbitrum node handling in default settings migration and node list management.
- Enhanced preferences and settings store to include Arbitrum-specific configurations.
- Updated QR utility and token utilities to accommodate Arbitrum functionalities.
* feat: Add Arbitrum support to various buy providers
- Updated DFXBuyProvider, KryptonimBuyProvider, OnRamperBuyProvider, and RobinhoodBuyProvider to include Arbitrum wallet type and blockchain references.
- Enhanced integration for Arbitrum across multiple components to ensure consistent support.
* feat: Implement Arbitrum support in wallet selection and settings
- Added Arbitrum wallet type handling in common test flows and wallet services.
- Integrated Arbitrum icons in desktop wallet selection and menu widgets.
- Updated privacy settings to include ArbiScan options.
- Enhanced key service to support Arbitrum private and public key retrieval.
* feat: Expand Arbitrum support across various view models and components
- Integrated Arbitrum wallet type handling in advanced privacy settings, transaction details, and wallet management.
- Added Arbitrum-specific methods for transaction and wallet creation, restoration, and fee management.
- Updated dashboard and home settings to accommodate Arbitrum functionalities, including token management and transaction display.
- Enhanced exchange and send view models to support Arbitrum transactions and currency handling.
- Included Arbitrum in wallet address list and privacy settings for improved user experience.
* refactor: Simplify token initialization in Arbitrum wallet service
- Removed the migration flag from the addInitialTokens method in ArbitrumWalletService.
- Updated addInitialTokens method in ArbitrumWallet to handle existing tokens more efficiently.
- Enhanced initial token retrieval logic in DefaultArbitrumErc20Tokens to prioritize iconPath assignment.
- Improved token update logic in BaseWallet for consistency across wallet services.
* chore: Update Dart SDK constraints in pubspec.yaml
* fix: Update file paths for arbitrum assets
* fix: Correct box name formatting in Arbitrum wallet initialization
* Update .github/workflows/pr_test_build_android.yml [skip ci
* Update .github/workflows/pr_test_build_android.yml
* fix: Add missing evm params
* fix: Remove duplicate method declaration
* refactor: simplify isSwapsXyzSendingEVMTokenSwap check
* fix: Update arbitrum configs with sql storage update
* feat: Add estimated fee retrieval for Arbitrum and revamp priority fee handling for EVMChainWallet
* refactor: Update transaction priority handling and estimated fee calculations across EVMChain chains, also remove priority fee levels for Arbitrum
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* Add Black theme
* Fix black theme
* Add WixMadefor Font
* feat: Enhance theme setup
This change:
- Adds support for custom themes
- Updates theme retrieval logic to ensure the right theme is used based on user preferences(especially for custom themes).
* Add black custom colors
* Add custom accent colors
* feat: Restructure custom colors handling for themes
* feat: Integrate new custom colors structure across various components - WIP
* feat: Integrate new custom colors structure across various components, black theme now ready for tests
* feat: Add new accent color themes and update theme selection UI
- Enhanced theme selection UI in display settings to support accent color choices.
- Updated theme handling logic to accommodate new accent color variants.
* Minor updates to display_settings_page.dart
* Update settings_theme_choice.dart
* Revert accidental change in display_settings_page.dart
* Revert WixMadeFor font, fix SVG colors for CakeImageWidget, and test some color changes
* Update Monero Orange
* fix: Remove unused custom colors
* Test outline
* Test spacing and colors
* Add padding
* Remove outline
* Add other accent colors
* Update display_settings_view_model.dart
* Update names and fix switch case
* Add outline and update dark_theme.dart colors
* Add gradient to option_tile.dart
* Update icons
* Update some colors
* Switch option_tile.dart to TextButton
* Add updated icons
* Fix icon resolution
* Cleanup old icons + Update pubspec_base.yaml
* Remove unused fonts
* Update more icons
* Update image paths
* Remove more icons + update some component colors
* Add back DAI icon
* Fix errors
* feat: Implement OLED mode for BlackTheme
* feat: Add OLED mode for BlackTheme and localizations
* feat: Implement OLED mode for Black Theme
* refactor: Remove unused theme parameters and set up easy access to toggleKnob custom colors
* fix: Cleanup UI and overflows
* feat: Persist black theme selection if OS theme mode while app is in system mode
* fix: OS theme change when app is in background restrict pin screen from proceed
* Fix theme picker sizing
* Update lib/src/screens/dashboard/desktop_widgets/desktop_wallet_selection_dropdown.dart
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* refactor: Enhance theme access by introducing ThemeX extension for easier retrieval of current theme and custom colors
* refactor: Remove currentTheme parameter from GradientBackground widget and adjust across affected widgets
* refactor: Remove currentTheme parameter from StandardSwitch and SettingsSwitcherCell, using ThemeX extension for theme access
* refactor: Remove currentTheme parameter from various widgets dependent on SettingsSwitcherCell and StandardxSwitcher, using ThemeX extension for theme access
* refactor: Remove currentTheme in bottomsheets and related widgets, switching to theme extension
* refactor: Remove constructor theme access in OptionTile and related widgets, switching to theme extension
* refactor: Switch bottomsheet related widgets to use theme extension instead of constructor access
* refactor: Migrate currentTheme access from constructor based to extension base
* refactor: Switch theme access from constructor base to extension base [skip ci]
* refactor: Migrate more widgets to use extension based theme access and clean up code
* refactor: Update theme access across multiple widgets to use the new theme extension
* refactor: Clean up theme access in various widgets, moving to extension-based theme usage
* refactor: Make theme picker preview responsive
* fix: Persist saved black theme accent when app is put in background and brought back
* remove unused variables [skip ci]
---------
Co-authored-by: Blazebrain <davidadegoke16@gmail.com>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* Revert "Prevent double send actions in SendPage (#2542)"
This reverts commit dd4c941d2f.
* disable send buttons when ExecutedSuccessfully
* return value on bottom sheet pop [skip ci]
* fix: update Bitcoin and Litecoin Bech32 address patterns for improved detection for pay anything flow
* feat: add Litecoin MWEB address detection patterns for pay anything flow
* feat: Add support for ERC-681 payment scheme to QR and link to exchange send from external QR
* feat: Introduce TokenUtilities to centralize token management across viewmodels
- Added TokenUtilities class to centralize token-related operations for EVM, Solana, and Tron tokens.
- Refactored existing methods in ExchangeTradeViewModel and SendViewModel to utilize TokenUtilities.
- Updated PaymentRequest to include contractAddress.
- Enhanced payment QR scanning to fetch token details for QRs with contract addresses - ERC-681 QR scheme
* fix: Prefill amount with other data when app is brought up via payment deeplink on QR scan
* fix: Reduce trade not created errors WIP
* feat: Add exchange provider logging functionality
* feat: Enhance ERC681URI with amount normalization, prevents parsing issues with various input formats for amounts
* - Use regex from address validator for btc/ltc manual checks
- Add check for solana addresses
- Handle failures in normalizeToInteger method
- fix issue with address only being added when there's an amount
* wrap in try/catch just in case [skip ci]
* Update lib/utils/token_utilities.dart
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* fix: Fix QR Code Icons
* Update QR Code images
* fix: QR Codes Wallet Type Images
- Added missing solana qr code image to receive page
- Added wallet type image to QR on AnonPay invoice and donation pages
- Added a getQRImage util for easy access to the qr images
* fix: Update eth_pol image for receive page
* 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>
* Fix some colors
* fix(theme-updates): Modify condition for theme border style display when hasUnderlineBorder is true
* fix(themes-updates): Adjust switch colors and modify payjoin hint text
* fix: Crash report relating to success image display on successful exchange
* fix(theme-updates): Adjust animated text max width to prevent overflows
* fix(theme-updates): Adjust fee picker styling
* fix(themes-updates): Remove text overflow on welcome screen animation
---------
Co-authored-by: Blazebrain <davidadegoke16@gmail.com>
* Add theme base v2
* Initial new theme base files
* Typos
* Fixes
* Update theme files
* feat: Migrate to Material 3 Theming
Foundation, Theme Data Refactor, and First Extension Cleanup Batch.
This commit completes the first major phase of migrating to Material 3 theming by setting up the foundations for material 3 integration and begins the initial migration, removing custom theme extensions, updating theme data, and refactoring all relevant widget and page theming to use Material 3’s built-in color and typography tokens.
These changes:
- Lays the groundwork for Material 3 theming by restructuring the app’s theme configuration to use Material 3’s ColorScheme and TextTheme as the primary sources of color and typography throughout the app.
- Refactors the core theme config files by removing legacy custom color roles ensuring all color definitions now map directly to Material 3’s role.
- Begins the first batch migration of custom theme extensions (InfoTheme, PlaceholderTheme, KeyboardTheme, PinCodeTheme) and updates all affected widgets and pages to use Material 3 color and typography tokens instead of the custom properties.
- Cleans up the codebase by deleting the files of the initial set of migrated extensions and eliminating all related imports and usages.
* feat: Migrate to Material 3 Theming.
This change:
- Updates the themes README.md file to reflect the current structure and give more information based on the first major phase that was completed.
* feat: Migrate to Material 3 Theming
Deleting previous theme extensions
* feat: Migrate to Material 3 Theming
Another batch of migrations from existing extensions
* feat: Migration to Material 3 Theming
Third Migration batch for theme extensions
* fwat: Migration to Material 3 Theming
Final Migration batch for previous theme extensions
* Update onboarding hero
* Update button radius
* Add surfaceContainer to light theme
* feat(themes): Migrate to Material 3 Theming
This change:
- Adds new set of hero images
- Modifies the core structure for the themes
- Add missing color tokens to the theme classes
- Adds a CustomThemeColor class for custom color tokens
- Modifies the themelist to have a fall back for previous theme implementation
- Adds localization for some texts
- Modifies the flow for loading the theme on app start
- Add a WidgetsBindingObserver that listens for changes in the device theme and updates the app theme when there is a change
- Registers the themeStore as a Singleton for codebase wide use
* feat(themes): Migrate to Material 3 theming
This change:
- Migrates UI flows across the app to the new themes
- Confirms styling and typography of components across the app uses the new themes
- Remove instances of Palette use
- Switch TextStyles across the app to use theme text styles
* feat(themes): Migrate to Material 3 Theming.
This change:
- Adjusts bottomsheets styling and removes duplicate close button
- Removes more themedata extensions from the previous implementation
* - Remove outlines from cards and dock
- Update menu colors
- Update padding/divider size for cards
* - Update PIN screen
- Fix navigation dock shadow
- Update wallet screen colors
* Update border radius --skip-ci
* feat(themes): Migrate to Material 3 Theming.
This change:
- Adds gradient backgrounds to the dashbaord and balance cards.
- Migrates the input fields across the app to BaseTextFormFields.
- Removes dependence of input fields on individual styling, focusing instead on using theme defined InputDecoration styling with adjustments on individual components where needed.
- Applies new theme styling to BaseTextFormField, AddressTextField and CurrencyAmountTextField.
* - Switch some hero images to PNG
- Fix nagivation_dock shadow
- Minor fixes
* feat: Add fallback to previous underline styling in central widgets
This change:
- Adds a fallback to CurrencyAmountTextField, AddressTextField, and BaseTextFormField, allowing them use the previous theme styling.
- Adds localization for new texts
* feat(themes): Update warning box colors for dark and light themes
* feat(themes): Relaod themes when user restores from backup, ensuring the user previous theme preference is used.
* feat(themes): Handle themes logic during restore from backup
This change:
- Refactors theme loading logic to handle backup restore edgecase
- Refreshes the theme based on the user saved preference during restore from backup flow
* Fix card gradients and spacing
* Fix even more radiuses
Test new icons for navigation_dock.dart
* Update onboarding flow backgrounds
Fix swap icon clipping
Fix some text colors
Add more hero images
* Fix incorrect color for light theme
* Fix more hero images and cleanup
* Update text field icons
Fix info box CTA colors
Fix sync indicator colors
* Update toggle colors
Update dark theme colors (minor)
Update crypto_balance_widget.dart icon
* Update page transitions in router.dart
Fix some colors
* feat(themes): Display label by default for filled textfields
* feat(themes): Refactor theme handling across various components
This change:
- Fixes issue with themeMode resetting to system mode when app is restarted causing a UI glitch
- Updates theme checks from `currentTheme.type == ThemeType.dark` to `currentTheme.isDark` for consistency
- Adjusts UI components to use the theme directly from the themeStore
* feat(themes): Add animating tagline to the create pin welcome screen
* Revert text fields label temporarily, fix a couple colors, and cleanup some images
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
Co-authored-by: Blazebrain <davidadegoke16@gmail.com>
* feat: Implement New Swap UI including fee items and coin control and extract common fee logic to a feeViewModel, use that in SendViewModel and ExchangeViewModel
* feat: Implement New Swap UI with fee items and coin control and extract common fee logic to a feeViewModel for use in SendViewModel and ExchangeViewModel
* Update colors
* Show warning if user choose a below default transaction priority
* fix: Add warning when user select less than default transaction priority and add condition to show extraId
* Complete Swap UI flow
* Handle edgecases for XRP
* Switch swap page button texts
* Handle edgecases for XLM
* Switch prompt text and handle edgecases
---------
Co-authored-by: tuxpizza <tuxsudo@tux.pizza>
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* replace qr scanner with fast_scanner
* bump java version
* fix qr code scanning
* add flashlight and camera switch
* airgap work
* commitTransactionUR
* bump fast_scanner, fix configure script
* add option to restore wallet from NERO qr format
* fixes to the flow and logic
use gsed or otherwise it fails?
* remove Expanded() to fix URQR on release builds
* cache key to allow app updates
* rename cache key
* [skip ci] cache key.jks in cache_dependencies
* update fast_scanner to work on ios, with light mlkit dependency
* ui fixes
* error handling fix
* update fast_scanner to drop iOS dependency
* changes from review
* Update lib/entities/qr_scanner.dart
* changes from review
* remove useless commit
* don't set state multiple times
remove return Container() for non monero wallets
* return on fail
don't handle empty qr codes
* set node as trusted
display primary address in seed screen
* fix wow and haven
* migrate node to trusted
* - update trusted node for existing users
- update locales
- fix conflicts
- move menu item
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* feat: Integration tests setup and tests for Disclaimer, Welcome and Setup Pin Code pages
* feat: Integration test flow from start to restoring a wallet successfully done
* test: Dashboard view test and linking to flow
* feat: Testing the Exchange flow section, selecting sending and receiving currencies
* test: Successfully create an exchange section
* feat: Implement flow up to sending section
* test: Complete Exchange flow
* fix dependency issue
* test: Final cleanups
* feat: Add CI to run automated integration tests withan android emulator
* feat: Adjust Automated integration test CI to run on ubuntu 20.04-a
* fix: Move integration test CI into PR test build CI
* ci: Add automated test ci which is a streamlined replica of pr test build ci
* ci: Re-add step to access branch name
* ci: Add KVM
* ci: Add filepath to trigger the test run from
* ci: Add required key
* ci: Add required key
* ci: Add missing secret key
* ci: Add missing secret key
* ci: Add nano secrets to workflow
* ci: Switch step to free space on runner
* ci: Remove timeout from workflow
* ci: Confirm impact that removing copy_monero_deps would have on entire workflow time
* ci: Update CI and temporarily remove cache related to emulator
* ci: Remove dynamic java version
* ci: Temporarily switch CI
* ci: Switch to 11.x jdk
* ci: Temporarily switch CI
* ci: Revert ubuntu version
* ci: Add more api levels
* ci: Add more target options
* ci: Settled on stable emulator matrix options
* ci: Add more target options
* ci: Modify flow
* ci: Streamline api levels to 28 and 29
* ci: One more trial
* ci: Switch to flutter drive
* ci: Reduce options
* ci: Remove haven from test
* ci: Check for solana in list
* ci: Adjust amounts and currencies for exchange flow
* ci: Set write response on failure to true
* ci: Split ci to funds and non funds related tests
* test: Test for Send flow scenario and minor restructuring for test folders and files
* chore: cleanup
* ci: Pause CI for now
* ci: Pause CI for now
* ci: Pause CI for now
* Fix: Add keys back to currency amount textfield widget
* fix: Switch variable name
* fix: remove automation for now
* test: Updating send page robot and also syncing branch with main
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* fix: address book addresses, bch builder, exchange all fee estimation, bch coin control
* feat: new error framework for Electrum messages
* build: cw_bitcoin.dart
* feat: error improvements, localization, fix exchange amount mismatch
* chore: misc comment & print [skip ci]
* feat: refactor & simplify sendAll vs regular tx estimation and creation
- Since there were so many conditions inside a single function to alter its behavior if sendAll or not, it is easier and more readable to have separate sendAll and estimateTx functions that behave separately
* fix: wrong LTC dust
* feat: fee rate confirmation
* fix: wrong createTrade value when isSendAll is enabled
* fix bitcoin cash address parsing [skip ci]
* fix: form no amount validator, address book with multiple entries, exchange all below min error
* fix: improve string, fix sending with dust inputs at the top
* fix: two change outputs when re-estimating
* fix: sendAll with a little dust adds fees
* chore: sanity check [skip ci]
* fix: if the fee is higher than estimated
* Minor enhancement [skip ci]
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* Remove error message if buy action is disabled
* Fix wallet list selected wallet issue
* Check if the widget is still mounted before showing popup
* minor code readability enhancement [skip ci]
* Code enhancement [skip ci]
* Revert removing ask each time localization
* Add Moonpay to sell flow
Code Enhancements
* remove error popup when sell option is disabled
* Fix White screen issue
Bypass node certificate issue
* check on Fiat currency only with fiat templates
* Add possible missing cache file android error
* Dispose exchange state reaction when page is closed
* Fix minor chinese translation
* Temp remove BCH from robinhood
* Minor fixes
* Fix Hive issue
* Disable RobinHood for Nano
* Validate context is still mounted [skip ci]
* Disable Exolix for new exchanges
Remove duplicate ethereum case
* add nano/banano to manifest/info.plist
* fix qr code issues for nano
* Add Nano-wallet to restore form qr
Add iOS keychain accessibility config
* support app links for ethereum and nano [skip ci]
* catch exceptions from gas price and estimated gas
* Add bitcoin cash to app links
Fix restore from QR for bitcoin cash
* Fixate bottom buttons for create/restore wallet in wallet list page
---------
Co-authored-by: fosse <matt.cfosse@gmail.com>
* refactor(Theme): migrate accentColor
- based on the specs at https://docs.flutter.dev/release/breaking-changes/theme-data-accent-properties#migration-guide.
* refactor(Theme): all deprecated TextTheme styles
* refactor(Theme): deprecated backgroundColor for colorScheme.background
* refactor(Theme): deprecated buttonColor to use TextTheme backgroundColor instead
* refactor(Theme): deprecated isAlwaysShown to use thumbVisibility instead
* Add 'Exchange provider picker'
Save user selections
* Save user's exchange providers selection
* Add text for selected providers availability
* Fix selected providers not updating
* Load limits based on highest maximum in the selected providers
* Change received and deposit amount to be the best value from the selected providers
* Add provider name next to Trade ID
Set selected provider based on amount calculated
* Grey out providers who doesn't support selected currency pair
* Fix disabled providers
* Add Provider logo in Confirm Screen
* Only choose a provider if it satisfies its limits
* Fix amount validation
* Fix typo in error message
* Add a queue of possible exchange providers sorted by the best rate to try next if one failed
* Fix string locale typo
* Add Localization for other languages
* Add Placeholder text when there are no providers selected
* Check Exchange provider availability before creating a trade
* Fix "Fixed Rate" changing unconditionally
* Enable "convert to" field regardless of the provider
* Remove "Choose one" from providers picker
* Merge Master
* Fix Conflicts with master
* Add missing isEnabled field in simple swap provider