* chore: update `ledger_flutter_plus` dependency to new repository URL and commit hash in `pubspec_base.yaml`
* feat: add support for Ledger Nano Gen 5 hardware wallet and include new SVG asset
* chore: update `ledger_flutter_plus` dependency reference and remove redundant method call in `LedgerViewModel`
* feat: Enhance node switching logic with connectivity checks and attempt limits
- Added connectivity checks before node health verification to ensure network availability.
- Introduced maximum node switching attempts and cooldown periods to prevent excessive retries.
* refactor: Improve node switch PR comments
- Reduce cooldown time to 15 seconds
- Combine increment code into one within the finally block
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* fix: Already made error and update transactions two seconds after successful send for evm, tron and sol
* feat: Add updateTransactionsHistory method on WalletBase to handle transaction update immediately after sending
* Update lib/view_model/send/send_view_model.dart [skip ci]
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
Due to reown changing their license in version
1.2.0 we switched to use last open source release
of reown with all fixes for flutter 3.32.0 and
16kb page size requirements.
chore: drop dependency overrides for reown
ci: switch prebuilds to use github releases instead of CDN
fix: reown socket errors in onDone and onError
fix: remove flutter_secure_storage on linux (closes#2577, #2561)
* chore: Create Base package template
* chore: Update configuration scripts and dependencies to include 'base' coin support
* chore: Update pubspec.yaml, adjust SDK constraints, and add new dependencies
* feat: Add support for base wallet type and cryptocurrency in related configurations
* feat: Implement BaseWallet and DefaultBaseTokens classes for managing base cryptocurrency transactions
* feat: Add BaseTransactionHistory and BaseTransactionInfo classes for handling base cryptocurrency transaction data
* feat: Implement BaseClient, BaseWalletService, and BaseMnemonicIsIncorrectException
* feat: Setup base proxy for main package and adjust token class name
* feat: Setup initial base node configuration
* feat: Integrate support for base wallet type across various functions and services
* feat: Add base support to exchange and outputs
* feat: Add base wallet type integration to wallet creation and node management
* feat: Add base support to transaction details and transaction list item
* feat: Implement BaseURI class and add base support across wallet creation and keys view models
* feat: Add support for BaseScan preference in settings store
* feat: Integrate Base support into various workflows and documentation
* feat: Addingbase config to windows and secret key support
* feat: Add base support to settings and address handling
* chore: Move walletTypeToCurrency to another file and adjust across codebase
* feat: Add 'basescan_history' string localization
* feat: Remove Cryptocurrency.base, it doesn't have a base currency
* feat: Set eth as native currency
* feat: Enhance Base support across various sending, exchange, transaction details, fees, dashboard and balance
* feat: Integrate Base wallet support in advanced privacy settings and home settings view models
* feat: Add Base wallet support with icon and integration across providers, default settings migration, preferences, wallet connect, settings and token utilities
* feat: Update currency handling to use baseEth for Base wallet integration across various components
* fix: Update default token symbol to ETH in Base wallet transaction model
* refactor: Change default currency references from BASE to ETH across client, transaction info, and wallet components
* feat: Introduce normalizedIconPath for CryptoCurrency to standardize icon retrieval across wallet components
* fix: Include baseEth as a native token in EVMChainClient for currency handling
* chore: Update base_icon.png
* feat: Add more nodes to base_node_list.yml
* refactor: Update wallet icon retrieval to use normalizedIconPath
* chore: Remove unused cases and cleanup impl.
* feat: Add base proxy generation to configure
* refactor: Update base proxy and generation code in configure.dart
* feat: Add missing wallet and mono images
* fix: Wrong image path for pr and add missing base qr image
* feat: Enhance EVMTransactionErrorFeesHandler to parse new insufficient funds error format and calculate transaction fees in ETH and USD
* feat: Add gas price safety buffer for Base chain transactions to improve fee estimation accuracy, also fixes send all not calculating correctly
* Update model_generator.sh [skip ci]
* Update assets/base_node_list.yml [skip ci]
* Update cw_base/lib/default_base_erc20_tokens.dart [skip ci]
* Review fixes
* fixes
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
* 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
* feat: Trigger pay anything flow when address is pasted via ctrl v or paste input
* fix: remove duplicate registration
* fix: disable text selection in SendCard address field
* feat: Prevent swap option from showing for Mweb and Silent Payment addresses in Pay Anything flow
* refactor: remove notes widget and controllers from swap confirmation bottomsheet
* fix: Issue with tap send all button not responsive, and updateing fiat amount, after wallet syncing is complete if it was previously tapped while wallet was syncing
* fix: Resolve excessive decimal places error with input sanitization and formatting for amount entry
* fix: Add check for already usable amount format to prevent errors with Nano QR scanning
* fix: Improve fiat input handling by preventing unnecessary updates during user input
* fix: Handle potential null case for setReceiveAmountFromFiat
* Update lib/src/widgets/bottom_sheet/payment_confirmation_bottom_sheet.dart
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* feat: add support for Trezor hardware wallet integration Restore Wallets
* feat: add Trezor hardware wallet support, implement RLP decoding utility, and update transaction signing logic
* feat: add bitcoin trezor signing
* chore: update Trezor Connect dependency to specific commit hash in pubspec_base.yaml
* feat: add trezor support for litecoin
* feat: add colorFilter for device manufacturer icons to align with theme styles
* refactor: optimize Trezor callback handling
* feat: add BitBox and Trezor support for Bitcoin and Litecoin, update transaction signing logic, and improve modularity in hardware wallet services
* refactor: simplify constructor assertions in `BaseBottomSheetWidget` and cleanup Trezor chainId handling logic
* feat: conditionally render device manufacturers based on platform and hide SeedSigner for now
* 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]
* refactor: improve `NodeCreateOrEditPage` and `NodeForm` structure and state management
* fix: eliminate `widget.nodeViewModel` references in constructor
* i18n: keep brand 'Cake Wallet' unlocalized in exchange confirmation string
This change updates the English translation string 'exchange_trade_result_confirm' to use the brand name 'Cake Wallet' (capitalized) instead of the lower-case 'cake wallet'. This prevents translation errors where 'cake' is translated as an edible cake in multiple languages. See issue #2548.
* i18n: fix brand capitalization in exchange_trade_result_confirm to "Cake Wallet"
* Update strings_en.arb
* Update res/values/strings_en.arb
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
* fix: Polygon transactions not coming up in transactions history page
* fix: Filter out polygon spam transactions
* fix: Remove check for zero transaction amounts in transactions page
* fix: remove redundant check for zero transaction amounts in transactions page