Skip to content
CAI
Software that uses CAICheck a score

cake-tech/cake_wallet

31.3

Weak · 19 September 2026

253.7k

lines of production code

Dart

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

This system is a multi-chain cryptocurrency wallet application supporting Bitcoin, Monero, Ethereum, Solana, and numerous other assets. It provides core financial capabilities including sending, receiving, and swapping tokens, with specialized features for privacy (Tor integration, Payjoin, MWEB) and hardware wallet connectivity. The platform also facilitates fiat on-ramps through various third-party providers and manages complex cross-chain bridges and anonymous payment invoices.

How it got here

2020 — Initial project scaffolding and UI overhaul

61 changes.

This period established the Cake Wallet project's foundational infrastructure, including cross-platform build systems, native integrations, and core state management. It simultaneously introduced a comprehensive redesign of the user interface, implementing a new widget library, standardized screen architectures, and support for multiple cryptocurrency networks.

2021–2024 — Multi-chain expansion and modular architecture

80 changes.

The project significantly expanded its supported cryptocurrencies by introducing dedicated modules for Bitcoin, Monero, Solana, Nano, Dogecoin, and EVM chains, while removing Wownero. This period focused on refactoring the codebase into a modular architecture with shared core libraries and enhanced desktop support for macOS, Windows, and Linux. Additionally, the app integrated numerous fiat on-ramp providers, hardware wallet support, and advanced features like NFT management and YAT onboarding.

2025–2026 — New UI overhaul and multi-chain expansion

64 changes.

This period focused on a comprehensive redesign of the application's interface, introducing a new Material 3-based UI with enhanced accessibility, a modernized dashboard, and streamlined flows for sending, receiving, and swapping assets. Concurrently, the codebase expanded significantly to support new cryptocurrencies including Zano, Decred, and Dogecoin, while deepening integration with existing chains through features like Payjoin, Lightning Network, and USDT0 bridging.

Features

This change introduces the AnonPay API client and supporting data models within the \lib/anonpay\ directory, enabling the wallet to generate anonymous payment invoices and donation links via the Trocador service. The new \AnonPayApi\ class handles communication with the Trocador backend, supporting both clearnet and Tor (onion) endpoints through a proxy wrapper to maintain user privacy. It provides methods to create invoices with optional fiat equivalents, generate donation links, check payment status, and fetch exchange limits. The implementation includes specific network mapping logic (e.g., mapping USDT to BTC network, ETH to ERC20) and integrates with the existing wallet and fiat conversion services to support these anonymous payment features.

lib/anonpay · high confidence

Add AnyPay integration for multi-cryptocurrency payments

This change introduces the AnyPay payment service, enabling users to make payments in Monero (XMR), Bitcoin (BTC), and Litecoin (LTC). The implementation includes the AnyPay API client for handling payment requests and submissions, along with data models for payment instructions, transactions, and committed payment information. Users can now initiate and complete payments through the AnyPay provider, with the system automatically formatting amounts according to the selected cryptocurrency.

lib/anypay · high confidence

Add Bitcoin Cash (BCH) wallet support

Introduces a new Bitcoin Cash wallet implementation, allowing users to create, restore (via seed or WIF), and manage BCH wallets. The update includes address conversion utilities (legacy to CashAddr), wallet service integration for storage and backup, and specific exception handling for invalid mnemonics.

_cw\_bitcoin\cash/lib · high confidence

Add DFX.swiss as a fiat-to-crypto buy provider

Users can now buy cryptocurrencies directly through DFX.swiss. This change introduces the \DFXBuyProvider\ implementation, enabling support for Bitcoin, Monero, Ethereum, Polygon, Solana, Zano, and Tron against CHF and EUR fiat currencies. The provider handles the authentication flow by signing messages with the user's wallet and manages API interactions for fetching asset and fiat credentials.

lib/buy/dfx · high confidence

Add Dogecoin wallet support

This change introduces the core library components for Dogecoin wallet functionality, including the wallet service, wallet model, address management, and transaction priority handling. Users can now create, open, and manage Dogecoin wallets using mnemonic phrases or WIF keys, with support for P2PKH addresses and fee estimation based on transaction size.

_cw\dogecoin/lib · high confidence

Add EVM contract wrappers and DEuro savings integration

This change introduces new Dart libraries for interacting with EVM smart contracts, including a standard ERC20 token wrapper, an OFT (Omnichain Fungible Token) wrapper for USDT0 bridging, and dedicated DEuro savings contracts (v1 and v2). It also adds a client factory to route requests to specific chain clients (Ethereum, Polygon, Base, Arbitrum, BSC) and defines default token lists for these chains. For users, this enables the application to support DEuro savings features (depositing, withdrawing, and checking interest) and USDT0 cross-chain transfers on supported EVM networks.

_cw\evm/lib · high confidence

Add Kryptonim fiat-to-crypto buy provider

Users can now buy cryptocurrency using fiat currency through the Kryptonim provider. This new integration allows users to select Kryptonim as a payment method, view exchange rates and quotes, and complete the purchase by launching the Kryptonim widget in an external browser.

lib/buy/kryptonim · high confidence

Add Linux platform support for the cw\_monero Flutter plugin and example app

This change introduces the necessary build configuration and native code to run the cw\_monero application and plugin on Linux. For the example app, it adds the standard Flutter Linux runner files (CMakeLists, main.cc, my\_application) to build and launch the desktop interface. For the plugin itself, it adds the Linux-specific C++ implementation (cw\_monero\_plugin.cc) and CMake configuration, linking against pre-built static libraries for Monero, libsodium, OpenSSL, and Boost to enable native wallet functionality on the Linux desktop.

_cw\_monero/example, cw\monero/linux · high confidence

Add Meld as a buy/sell provider

Users can now buy and sell cryptocurrency through Meld, an aggregator provider. This change introduces the MeldBuyProvider implementation, which fetches available payment methods and exchange quotes from the Meld API (using api.meld.io or api-sb.meld.io) and launches the Meld widget in an external browser for transaction completion.

lib/buy/meld · high confidence

Add Open CryptoPay service integration

Introduces a new Open CryptoPay service that enables users to receive payments via LNURL-based crypto invoices. The implementation includes exception handling, data models for requests and quotes, and logic to fetch invoice details, generate payment addresses, and commit or cancel transactions. It supports multiple blockchain networks including Monero, Zano, Solana, Ethereum, Polygon, Arbitrum, and Tron, allowing users to pay using their preferred asset through the Open CryptoPay protocol.

_lib/core/open\_crypto\pay · high confidence

Add Robinhood as a new buy provider

Users can now purchase cryptocurrency using Robinhood as a payment method. This change introduces the Robinhood Buy Provider, which handles asset support queries, secure wallet connection via signature-based authentication, and deep-linking to the Robinhood app for completing transactions. It supports a range of software wallets (Ethereum, Solana, Bitcoin, etc.) and includes specific logic to ensure hardware wallets are properly connected before initiating the buy flow.

lib/buy/robinhood · high confidence

Add Tron wallet support

The app now supports the Tron network, allowing users to create, restore, and manage Tron wallets. This includes native TRX transactions, management of TRC-20 tokens (adding, deleting, and viewing), and integration with the existing wallet infrastructure for address handling and transaction creation.

_lib/view\model · high confidence

Add UI icons for address types, sources, and contacts

The app now includes a new set of SVG assets to support the user interface for address selection and management. This adds specific icons for Bitcoin address types (Standard, SegWit, Taproot, Lightning, PayJoin, Legacy), Monero address types (MWEB, Silent Payments), and Zcash address types (Public, Sapling, Shielded, Transparent, Unified). It also introduces icons for address sources (ENS, FIO, BIP-353), general contact and address book management (Contacts, Address Book, Add Label, Add Note, Set Label, Hide Address), and a generic account icon.

res · high confidence

Add Wownero-specific mnemonic word lists and transaction exceptions

This change introduces the foundational support for the Wownero cryptocurrency by adding language-specific BIP-39 mnemonic word lists (Chinese Simplified, Dutch, English, French, German, Italian, Japanese, Portuguese, Russian, and Spanish) and defining custom exception classes for Wownero transaction creation errors, such as handling cases where no inputs are selected.

_cw\_wownero/lib/exceptions, cw\wownero/lib/mnemonics · high confidence

Add Wyre buy provider

Users can now purchase cryptocurrency using Wyre as a fiat on-ramp. This change introduces the WyreBuyProvider implementation, which handles API interactions for requesting buy URLs, calculating exchange quotes (including ACH fee breakdowns), and tracking order statuses via the Wyre v3 API.

lib/buy/wyre · high confidence

Add animated UR page for QR-based transaction workflows

A new \AnimatedURPage\ screen has been introduced to handle Universal Receiver (UR) QR code interactions for Monero and Bitcoin. This page displays QR data and provides a 'Scan QR Code' button to capture signed transactions or key images via the device camera, supporting specific UR types such as \ur:xmr-txunsigned\, \ur:xmr-output\, and \ur:psbt\.

lib/src/screens/ur · high confidence

Add dEuro Savings interface with interest management and hardware wallet support

Users can now manage dEuro savings directly within the app via a new Savings page. This interface displays current balances, accrued interest, and the active APR, allowing users to deposit or withdraw funds, collect interest payouts, or reinvest earnings. The flow requires hardware wallet authentication for all transactions and includes a dedicated numeric keypad for secure amount entry.

lib/src/screens/integrations · high confidence

Add hardware wallet support for BitBox02, Ledger, and Trezor for Bitcoin and Litecoin

Users can now connect and use BitBox02, Ledger, and Trezor hardware wallets to manage Bitcoin and Litecoin accounts. This change introduces dedicated service implementations for each device and coin combination, enabling account discovery via standard derivation paths (m/84'/0' for Bitcoin, m/84'/2' for Litecoin), PSBT-based transaction signing, and message signing. The implementation handles device-specific requirements such as fingerprint verification, previous transaction data for Trezor, and specific script types for external outputs.

_cw\bitcoin/lib/hardware · high confidence

Add seed saving and copying options on the wallet seed page

The WalletSeedPage now allows users to save their seed phrase as a text file on desktop platforms (macOS, Windows, Linux) via a file save dialog, and copy the seed to the clipboard on all platforms when the wallet is newly created. This replaces or augments previous behavior by providing explicit, platform-specific actions for preserving the seed phrase outside the app.

lib/src/screens/seed · high confidence

Added Android project configuration and ignore files

The Android module now includes essential project setup files, specifically the .gitignore file to exclude build artifacts and local properties, the .project file for Eclipse/Buildship integration, and the corresponding .settings configuration. These changes establish the basic project structure and tooling configuration for the Android application.

android · high confidence

Added Hausa and Yoruba language support

The app now supports Hausa and Yoruba languages. New localization files (hausa\_intl.dart, yoruba\_intl.dart) provide date patterns and symbols for these languages, and the locale configuration (locale.dart) has been updated to register the corresponding localizations delegates, making these languages available for selection in the app.

lib/locales · high confidence

Added Tor connection screen and proxy logging infrastructure

The application now includes a dedicated StartTorPage that allows users to manage Tor connectivity, offering options to disable Tor or ignore connection timeouts and proceed. This UI is supported by a new proxy logging subsystem in the core library, which provides an abstract interface and concrete implementations (MemoryProxyLogger and SilentProxyLogger) to capture HTTP request details such as URI, method, body, and network type (clearnet vs. tor) for debugging and monitoring purposes.

_cw\_core/lib/utils/proxy\_logger, lib/src/screens/start\tor · high confidence

Added Wownero-specific exception classes

The Wownero module now includes dedicated exception classes for handling specific error scenarios, including connection failures, transaction creation issues, wallet setup, opening, creation, and restoration from keys or seed. These exceptions provide structured error handling for Wownero wallet operations.

_cw\wownero/lib/api/exceptions · high confidence

Added YAT onboarding introduction screens

Users are now presented with a three-step introduction flow when interacting with YAT (You Are The) features. This new UI includes dedicated widgets for the first, second, and third introduction steps, featuring Lottie animations, localized text, and a page indicator to guide users through the process. The flow provides options to get a new YAT or connect an existing one, supported by a custom YAT bar with a logo and close button.

lib/src/screens/yat/widgets · high confidence

Added default ERC20 token lists for Arbitrum, Base, BSC, Ethereum, and Polygon

The application now includes predefined sets of ERC20 tokens for five EVM-compatible networks: Arbitrum, Base, Binance Smart Chain (BSC), Ethereum Mainnet, and Polygon. Each network has a dedicated token configuration file (e.g., \arbitrum\_tokens.dart\) that specifies the contract address, decimals, and enabled status for assets such as USDC, USDT, WETH, and WBTC. The system automatically assigns icons to these tokens by matching their symbols against the global currency list, ensuring consistent visual representation across the supported chains.

_cw\evm/lib/tokens · high confidence

Added multilingual Monero mnemonic word lists

New mnemonic word list files have been added for Chinese Simplified, Dutch, English, French, German, Italian, Japanese, Portuguese, Russian, and Spanish, enabling users to generate and validate Monero seed phrases in these languages.

_cw\monero/lib/mnemonics · high confidence

Added release notes screen with wallet-type-aware content loading

A new ReleaseNotesScreen widget has been introduced to display release notes within an alert-style dialog. The screen dynamically loads the appropriate text file based on the wallet type, using 'Monerocom\_Release\_Notes.txt' for Monero-only wallets and 'Release\_Notes.txt' for others. It presents the notes in a scrollable list with a styled title and bullet points, ensuring the content adapts to the current theme's color scheme.

_lib/src/screens/release\notes · high confidence

Added screen to change Nano representative account

A new 'Change Representative' page has been added to the Nano section of the app. This screen allows users to view their current representative node, select a new representative from a list of available nodes, and submit a transaction to update their representative account. The interface includes validation for the new address, a confirmation dialog before submission, and feedback alerts for success or error states.

lib/src/screens/nano · high confidence

Added unspent coins list and details screens

Users can now view and manage unspent coins (UTXOs) through a new list interface and a detailed view. The list page displays available unspent coins with their fiat amounts, allows selecting all coins, and provides navigation to individual coin details. The details page shows specific information about a selected unspent coin, including options to copy values to clipboard and view block explorer links.

_lib/src/screens/unspent\coins · high confidence

Android app initialization and native integration setup

The Android application source code has been initialized with the necessary native components to support core wallet features. This includes configuring the AndroidManifest to handle deep links for cryptocurrency QR codes (Bitcoin, Monero, Ethereum, Solana, etc.), enabling USB device attachment for hardware wallets (Trezor, BitBox02), and requesting permissions for camera, Bluetooth, and battery optimization bypass. The MainActivity implementations provide a native method channel for secure random number generation, app security flag management (preventing screenshots), and battery optimization control, while the application structure supports multiple build variants (Cake Wallet, Haven, Monero) with appropriate UI themes and launch assets.

android/app/src · high confidence

Expanded developer tools for debugging and diagnostics

The developer settings screen now includes several new diagnostic pages to help troubleshoot wallet and network issues. Users can view background sync logs and session details, inspect exchange provider logs with filtering and statistics, and monitor Monero background sync status and keys. Additional tools allow inspecting the Monero wallet cache as JSON, profiling function call performance for Monero, Wownero, and Zano wallets, viewing network request history (including Tor vs clearnet distinction), and editing or viewing secure and shared preferences directly.

lib/src/screens/dev · high confidence

Initial Android plugin structure for MWeb integration

This change introduces the foundational Android component for the MWeb feature within the Cake Wallet application. It establishes the Flutter plugin entry point (CwMwebPlugin) to handle method channel communication, defines the Android manifest for the com.cakewallet.mweb package, and sets up the directory structure for native JNI libraries (libmweb.so) across arm64-v8a, armeabi-v7a, x86, and x86\_64 architectures. Additionally, it adds .gitignore rules to exclude build artifacts and local configuration files from version control.

_cw\mweb/android · high confidence

Initial Decred wallet module with BIP39 and native seed support

This change introduces the \cw\_decred\ plugin, a new Decred wallet module that bridges to the native \libdcrwallet\ via FFI. It provides high-level methods to create, load, and sync wallets, query balances and transactions, and build and broadcast signed transactions. The module supports both BIP39 mnemonic seeds (12 or 24 words) and native Decred seeds (15 words) for wallet restoration, and includes platform-specific Flutter plugins for Android, iOS, and macOS to handle native method channels.

_cw\decred · high confidence

Initial Haven wallet service implementation

The Haven wallet service now includes a concrete implementation for removing wallets, which deletes the associated wallet directory and its metadata record. Other core wallet operations such as creation, opening, renaming, and restoration remain unimplemented and will throw errors if invoked.

lib/haven · high confidence

Initial Solana wallet support with SPL token and xStock integration

This change introduces the core library components for a new Solana wallet implementation. It includes the wallet service for creating, opening, and restoring Solana wallets via mnemonic or private key, along with client logic for interacting with Solana RPC nodes (including Ankr and Chainstack). The wallet supports native SOL balances and a comprehensive list of default SPL tokens (such as USDT, USDC, Bonk, and RAY), with specific support for tokenized stocks (xStocks) like Abbott and Alphabet. It also implements transaction history persistence, spam filtering for unconfirmed fungible tokens, and basic security checks for suspicious token properties.

_cw\solana/lib · high confidence

Initial Windows desktop support for Cake Wallet

Cake Wallet is now available on Windows, allowing users to run the application as a native desktop client. This change introduces the complete Windows build infrastructure, including CMake configuration, a Win32 window runner with high-DPI and dark-mode support, and the bundling of necessary runtime libraries (such as the Monero and Wownero wallet APIs) so the app can run directly from the executable directory.

linux, windows · high confidence

Initial Wownero wallet API implementation

This change introduces the core API layer for Wownero support, adding new Dart files to manage wallet lifecycle, accounts, and transactions. Users can now create, restore (from seed or keys), and open Wownero wallets, with support for passphrases and legacy seed formats. The implementation includes subaddress management (creating accounts and subaddresses, setting labels), balance and address retrieval, and transaction history. It also enables sending transactions (single and multi-destination) and freezing/thawing coins, utilizing the underlying \monero/wownero.dart\ bindings for native operations.

_cw\wownero/lib/api · high confidence

Initial iOS MWeb plugin stub and build configuration

This change introduces the initial iOS integration layer for the MWeb feature within the Flutter application. It adds a new \CwMwebPlugin.swift\ file that registers a Flutter method channel named 'cw\_mweb' to facilitate communication between the Dart code and native iOS code, currently returning a 'not implemented' result. Additionally, it configures the build environment by adding a \.gitignore\ file that excludes derived data and specifically ignores the \Mwebd.xcframework\ directory, indicating preparation for integrating an external framework, and creates an \Assets\ directory placeholder.

_cw\mweb/ios · high confidence

Initial iOS project scaffolding added

The iOS application structure has been initialized with the core project workspace and storyboard files. This includes the \Runner.xcworkspace\ configuration linking the main project and Pods, a \LaunchScreen.storyboard\ for the app launch screen, and a \Main.storyboard\ containing the initial Flutter view controller. This change establishes the foundational UI and project structure required to build and run the iOS application.

ios/Runner.xcworkspace, ios/Runner/Base.lproj · high confidence

Initial implementation of Nano wallet support

This change introduces the core implementation for the Nano cryptocurrency within the application. The \lib/nano/cw\_nano.dart\ file adds the \CWNano\ class, which implements the \Nano\ interface to handle wallet-specific operations such as account listing, balance retrieval, transaction history updates, and representative management. It also includes credential creation methods for new wallets and restoration from seeds or keys, along with validation logic for mnemonic and seed key formats. This provides the foundational backend logic required for users to manage Nano accounts.

_cw\tron/lib, lib/nano · high confidence

Initial macOS application support added

This change introduces the native macOS platform for Cake Wallet, enabling the application to run on macOS. The implementation includes the Flutter macOS runner, Xcode project configuration, and native Swift integration. Key features include a native menu bar, secure random number generation via \SecRandomCopyBytes\, and the ability to set minimum window sizes. The app is configured with entitlements for Bluetooth (for hardware wallet connectivity), network access, and keychain storage, and it bundles native libraries for Monero and Wownero.

macos · high confidence

Initial project scaffolding and build infrastructure

This change introduces the foundational structure for the Cake Wallet project, including the Dockerfile for reproducible CI/CD builds, platform-specific build scripts (Windows batch, Linux shell), and configuration files for Flutter analysis, localization, and dependency management. It also adds essential documentation such as the README, Privacy Policy, and License, along with tooling for model generation and graphics compilation.

(repo-wide) · high confidence

Initial release of Bitcoin Cash (BCH) wallet module

Adds a new Bitcoin Cash wallet module (\cw\_bitcoin\_cash\) that enables users to create, manage, and transact with BCH. The module supports key derivation via BIP-39, UTXO management through Electrum connectivity, and transaction creation with priority-based fee calculations. It includes CashAddr address handling, message signing and verification, and automatic migration for legacy snapshots, accessible via the \WalletType.bitcoinCash\ interface.

_cw\_bitcoin\cash · high confidence

Initial release of Dogecoin wallet module

Adds the \cw\_dogecoin\ package, a new module enabling Dogecoin support within the wallet application. This module leverages the shared Bitcoin Electrum implementation (\cw\_bitcoin\) to provide Dogecoin-specific features, including BIP-39 key derivation with Dogecoin HD paths, connection to Electrum nodes, UTXO management, and the ability to create, sign, and broadcast DOGE transactions. It also includes address book management, message signing/verification, and configurable fee rates. The package is initialized with standard project scaffolding including a README, changelog, and license placeholder.

(repo-wide) · high confidence

Initial release of cw\_evm shared EVM wallet foundation

The cw\_evm package has been added to provide a shared foundation for EVM-chain wallets within Cake Wallet. It introduces common client and wallet abstractions, including EVMChainClient for RPC connectivity and transaction handling, and EVMChainWallet for key derivation, EIP-1559 fee calculation, and ERC-20 token management. This module serves as the base for specific chain implementations like cw\_ethereum and cw\_polygon.

_cw\evm · high confidence

Initial release of cw\_mweb MWEB integration bridge

Introduces the cw\_mweb module, a Dart/Flutter bridge for MimbleWimble Extension Blocks (MWEB) that enables MWEB-enabled chains (such as Litecoin) to interact with an MWEB daemon. The module provides a uniform API surface via a Dart platform interface and method-channel implementation, including generated Protobuf stubs for mwebd communication and FFI bindings to the underlying Go mwebd library.

_cw\mweb · high confidence

Initial release of the cw\_shared\_external Flutter plugin

This change introduces the cw\_shared\_external plugin, a shared component for Cake Wallet that facilitates communication between the Flutter application and native Android and iOS platforms. The plugin exposes a single capability: retrieving the underlying operating system version (e.g., "Android 11" or "iOS 15.2") via a standard MethodChannel. It includes the necessary native implementations in Kotlin and Swift/Objective-C, along with standard Flutter project scaffolding such as Gradle configuration, iOS asset placeholders, and dependency override links.

_cw\_monero, cw\_shared\external · high confidence

Initial support for Nano (XNO) wallet

Added a new Nano wallet implementation within the \cw\_nano\ library, enabling users to create, restore, and manage Nano accounts. This includes support for standard and HD (BIP39) derivation paths, multi-account management via Hive storage, and transaction history persistence. The feature provides core wallet operations such as balance retrieval, representative changes, and sending transactions using the \NanoClient\ and \NanoWallet\ classes.

_cw\nano/lib · high confidence

Introduce Lightning Network wallet support

Adds a new Lightning wallet implementation using the Breez SDK Spark, enabling users to send and receive payments via Lightning Network. This includes new classes for managing Lightning addresses, handling pending transactions, and utility functions for LNURL resolution, alongside integration with the existing Money and currency models.

_cw\bitcoin/lib/lightning · high confidence

Introduce MoonPay as a new fiat on-ramp/off-ramp provider

Users can now buy and sell cryptocurrencies directly within the app using MoonPay. This change adds the MoonPay integration, allowing users to select fiat currencies and payment methods (such as credit/debit cards) to get quotes and execute transactions. The provider supports both buy and sell actions, handles environment switching (sandbox vs. production), and integrates with the app's existing theme system for consistent UI presentation.

lib/buy/moonpay · high confidence

Introduce Payjoin support with V2 protocol and privacy enhancements

This change adds the core Payjoin implementation to the Bitcoin wallet, enabling users to participate in Payjoin transactions to improve privacy. The new \PayjoinManager\ and associated workers (\PayjoinSenderWorker\, \PayjoinReceiverWorker\) support the V2 Payjoin protocol with OHTTP relay support for sender anonymity, while falling back to V1 if necessary. The receiver side includes logic to avoid the Unnecessary Input Heuristic (UIH2) to preserve privacy, and excludes 0-conf inputs from receiver candidates. Session persistence is handled via \PayjoinStorage\ using Hive, allowing sessions to be resumed after app restarts. Error handling distinguishes between recoverable and unrecoverable errors to manage session states appropriately.

_cw\bitcoin/lib/payjoin · high confidence

Introduce built-in embedded Tor support with platform-specific fallbacks

The application now includes a native embedded Tor implementation (via the \torch\_dart\ library) that automatically starts and manages a local SOCKS proxy on port 52142, allowing users to route traffic through Tor without external dependencies. This built-in mode is the default on non-Linux platforms. On Linux, the system checks for the \SOCKS\_SERVER\ or \SOCKS\_PROXY\ environment variables; if present, it delegates to an external SOCKS proxy instead of starting the embedded instance. If neither embedded Tor nor an external proxy is available, the system gracefully falls back to a disabled state.

_cw\core/lib/utils/tor · high confidence

Introduce modular address resolver with support for BIP-353 and ENS

The address resolution logic has been refactored into a modular provider system, introducing a new \AddressResolverService\ that coordinates multiple lookup sources. This change adds support for BIP-353 (Bitcoin DNS-based names) and updates the Ethereum Name Service (ENS) resolution to fetch the resolver address directly from the ENS registry, ensuring compatibility with names that have custom or updated resolvers. The system now supports a wide range of sources including LNURL Pay, FIO, Mastodon, Nostr, OpenAlias, ThorChain, Yat, Unstoppable Domains, Zcash, and Twitter, allowing users to resolve crypto addresses from diverse human-readable identifiers.

_lib/core/address\resolver · high confidence

Introduce new UI pages for the redesigned interface

Adds a suite of new Flutter page components for the new UI, including the About page (with an easter egg feature), Account Customizer for reordering wallet cards, Card Customizer for styling balance cards, Coin Control for managing unspent coins, the main Home page, and Lightning Username management. These files implement the visual layout and user interaction for these specific screens within the new interface layer.

lib/new-ui/pages · high confidence

Introduce standalone cw\_bitcoin and cw\_core modules

The Bitcoin and Monero wallet logic has been extracted into a dedicated \cw\_bitcoin\ module, providing an Electrum-based wallet with features like BIP-39 derivation, PSBT helpers, and hardware wallet support. Additionally, a new \cw\_core\ module has been added to house shared abstractions, including wallet primitives (\WalletBase\, \WalletService\), transaction models, and currency definitions, establishing a reusable foundation for other chain modules.

_cw\_bitcoin, cw\core · high confidence

Introduces AnyPay cross-chain payment flow and redesigned swap provider selection

Users can now initiate payments via AnyPay links, which automatically detect EVM networks and guide the user through network selection, wallet switching, or cross-chain swaps if the target network is not currently active. The swap interface has been redesigned with a new footer that displays the selected provider and deposit amount, alongside a provider selector page that allows users to choose between best-rate, decentralized, or centralized exchanges, and a provider options page to manage specific provider preferences.

_lib/new-ui/widgets/swap\page · high confidence

Introduces AnyPay service layer for unified payment routing and wallet switching

This change adds a new core service layer (\lib/core/anypay\) that centralizes the logic for parsing payment requests, resolving token details, and routing payments across different wallet types (EVM, Solana, Tron). It introduces a \WalletSwitchService\ (\lib/new-ui/services\) to handle secure wallet context changes during cross-chain or cross-wallet payments. Users benefit from a more robust payment experience where the app can automatically detect the target network, resolve specific tokens, and switch the active wallet context if the payment requires a different chain or wallet type than the currently selected one.

lib/core/anypay, lib/new-ui/services · high confidence

Introduces WalletConnect utility helpers for Ethereum and session management

New utility classes have been added to the WalletConnect flow to handle request parsing and approval workflows. EthUtils now provides methods to decode hex-encoded messages, extract Ethereum addresses from session requests, and parse transaction data. MethodsUtils manages the approval UI by displaying signing requests in a bottom sheet, handling transaction versus message signing logic, and managing app redirects. WCPermissionsMapper translates generated namespaces into user-facing permission labels (view balance, transaction approval, message signing, chain admin), and StringParsing adds a safe substring helper.

_lib/src/screens/wallet\connect/utils · high confidence

Introduces Zano-specific wallet model classes

Adds new model classes in the Zano module to support the Zano cryptocurrency, including \PendingZanoTransaction\ for handling transaction states, \ZanoBalance\ for tracking total and unlocked funds, \ZanoTransactionInfo\ for displaying transaction details, \ZanoTransactionCredentials\ for managing transaction parameters, \ZanoWalletKeys\ for storing cryptographic keys, and \ZanoTransactionCreationException\ for error handling. These models integrate with the core \Money\ class for consistent amount representation and provide the necessary data structures for Zano wallet operations.

_cw\zano/lib/model · high confidence

Introduces Zcash wallet integration and network configuration

Adds the \CWZcash\ implementation class and \ZcashNetworkType\ configuration to support Zcash (ZEC) within the application. The new code provides the core wallet service for creating, restoring, and managing Zcash wallets, handling transaction credential creation, and formatting amounts. It also defines the network types (mainnet, testnet, regtest) and exposes methods to retrieve wallet addresses, private keys, and manage address types, including support for shielded Orchard addresses and transparent rotating addresses.

lib/zcash · high confidence

Introduces dedicated WalletConnect key service for multi-chain support

The WalletConnect integration now uses a new \WalletConnectKeyService\ and \ChainKeyModel\ to manage cryptographic keys. This change enables support for multiple EVM-compatible chains (Ethereum, Polygon, Base, Arbitrum, and BSC) and Solana within the WalletConnect flow, allowing the app to provide the correct private and public keys for the specific chain being used.

_lib/src/screens/wallet\_connect/services/key\service · high confidence

Introduces granular TOTP 2FA access controls and a dedicated management interface

The app now includes a new 'Modify 2FA' settings page that allows users to fine-tune when Two-Factor Authentication is required. Beyond the initial setup flow (which now includes a guide link and QR code display), users can toggle specific requirements for actions such as accessing the wallet, sending funds to non-contacts, sending to contacts, internal/external exchanges, adding contacts, creating new wallets, and modifying security settings. This change shifts 2FA from a single on/off switch to a configurable security layer tailored to different transaction types.

_lib/src/screens/setup\2fa · high confidence

Introduces new core data models and UI customization settings

This change adds foundational data classes for wallet accounts, balances, and currency definitions, alongside a new system for customizing the balance card appearance. Users can now select from various gradient styles, icon sets, and background designs for their wallet cards, with these preferences persisted in the local database. The update also includes new utility classes for converting crypto amounts and formatting values, as well as a new Hive migration path for ERC20 tokens to ensure data integrity during storage upgrades.

_cw\core/lib · high confidence

Introduction of CWBitcoin facade for Bitcoin wallet operations

The \lib/bitcoin/cw\_bitcoin.dart\ file introduces the \CWBitcoin\ class, which implements the \Bitcoin\ interface to serve as the concrete facade for Bitcoin-specific wallet logic. This change centralizes the creation of various wallet credentials (from seed, keys, WIF, and hardware devices) and manages core wallet operations such as generating new addresses, updating address labels, retrieving sub-addresses, and estimating transaction fees. It also handles transaction credential creation with support for specific priorities and fee rates, effectively abstracting the underlying Electrum wallet interactions for the rest of the application.

lib/bitcoin · high confidence

Introduction of Dogecoin wallet support

Users can now create, restore, and manage Dogecoin wallets within the application. This change adds the necessary wallet service and credentials classes to handle Dogecoin-specific operations, including transaction priority settings and seed-based wallet creation.

lib · high confidence

Introduction of Onramper as a buy provider

The application now supports purchasing cryptocurrency via Onramper. This change introduces the \OnramperBuyProvider\ implementation, which handles fetching quotes, retrieving supported payment methods, and obtaining necessary signatures for transactions. Users can now select Onramper as a provider when buying crypto, with the system automatically determining recommended payment types and handling the integration with Onramper's API.

lib/buy/onramper · high confidence

Introduction of a new FAQ screen with expandable items

The application now includes a dedicated FAQ page that loads questions and answers from localized JSON files (e.g., \faq\_en.json\, \faq\_uk.json\) based on the user's language settings. The content is displayed as a scrollable list of expandable items, allowing users to tap on a question to reveal the corresponding answer, with visual feedback indicating the expanded state.

lib/src/screens/faq · high confidence

Introduction of duress PIN setup capability

The SetupPinCodePage now supports the creation of a duress PIN, allowing users to set up a secondary, emergency PIN distinct from their primary wallet PIN. This is implemented by adding an \isDuressPin\ flag to the page constructor, which dynamically adjusts the UI title and success/error messages to reflect the duress context. The page retains its existing functionality for standard PIN setup, including length selection and validation, but now explicitly handles the workflow for establishing this additional security layer.

_lib/src/screens/setup\_pin\code · high confidence

Introduction of generic hardware wallet device abstraction and connection enforcement

This change introduces a new \HardwareWalletDevice\ abstraction layer in \lib/entities/hardware\_wallet\ that standardizes support for Ledger, Trezor, and BitBox hardware wallets. The new \hardware\_wallet\_device.dart\ file defines generic device types (e.g., \ledgerNanoGen5\, \trezorSafe3\) and connection types (USB, BLE, NFC, QR), mapping specific vendor SDK types from \ledger\_flutter\_plus\, \trezor\_flutter\, and \bitbox\_flutter\ into a unified internal representation. Additionally, a new \require\_hardware\_wallet\_connection.dart\ utility is added to enforce hardware wallet connectivity requirements by leveraging the \WalletLoadingService\ and shared preferences, ensuring that operations requiring hardware wallet interaction can verify the current wallet's type and establish the necessary connection.

_lib/entities/hardware\wallet · high confidence

Introduction of new Pin Code entry screen and widget

The application now includes a dedicated Pin Code screen and its underlying widget implementation, replacing previous ad-hoc or missing pin entry logic. This change introduces a new \PinCode\ class and \PinCodeWidget\ that handle PIN input, validation, and state management, including support for variable PIN lengths (4 or 6 digits) and keyboard input handling. Users will experience a standardized and consistent PIN entry interface across the app.

_lib/src/screens/pin\code · high confidence

New Android build and CI infrastructure

The Android build process has been restructured with a comprehensive set of new shell scripts and Dockerfiles. The build system now supports building native dependencies (Boost, OpenSSL, Unbound, Sodium, ZMQ, Iconv) and specific wallet components (Monero, Decred, MWeb, Zcash, Reown) via dedicated scripts. A new configuration layer (\app\_config.sh\, \app\_env.sh\) centralizes app metadata (version, bundle ID, package name) for both Cake Wallet and Monero.com, while \inject\_app\details.sh\ and \manifest.sh\ automate the injection of these values into the Flutter project. CI is now containerized using a multi-stage Docker workflow (\docker/build.sh\ and individual \Dockerfile.\\ files) to build and cache these dependencies, and a new \check\_16kb\_align.sh\ script ensures ELF alignment compliance for Android releases.

scripts · high confidence

New Order Details screen for Cake Pay transactions

Users can now view detailed information for Cake Pay orders via a dedicated Order Details screen. This screen displays order status, specific transaction pairs (from/to), prices, and quantities, and includes a visual card representation for the order. It also handles session expiration by showing an alert if the Cake Pay session has expired.

_lib/src/screens/order\details · high confidence

New PSBT signing and building infrastructure for Bitcoin transactions

The \cw\_bitcoin/lib/psbt\ directory now includes a complete set of new files (\signer.dart\, \transaction\_builder.dart\, \utils.dart\, \v0\_deserialize.dart\, \v0\_finalizer.dart\) that implement the core logic for constructing, signing, and finalizing Bitcoin PSBTs. This adds support for signing various address types (P2PKH, P2WPKH, P2WSH, P2TR/Taproot, and legacy wrapped variants) and enables features like RBF (Replace-By-Fee) via sequence number configuration and BIP353 DNSSEC proofs in outputs. The new \signer.dart\ handles digest generation and signature application for both legacy and Taproot inputs, while \v0\_deserialize.dart\ and \v0\_finalizer.dart\ provide compatibility with PSBTv0 formats and finalization logic compliant with BIP174.

_cw\bitcoin/lib/psbt · high confidence

New Terms of Use and Third-Party Disclaimer screens

The app now includes dedicated screens for displaying legal text. The main Terms of Use screen dynamically loads its content from either 'Monerocom\_Terms\_of\_Use.txt' or 'Terms\_of\_Use.txt' depending on the wallet type, and requires users to explicitly check an 'I agree to Terms of Use' box before the 'Accept' button enables navigation to the welcome screen. Additionally, a new Third-Party Disclaimer screen has been added to display content from 'assets/text/disclaimer\_deuro.txt'.

lib/src/screens/disclaimer · high confidence

New UI components for the bridge feature

Added four new Flutter widgets to support the bridge interface: ConfirmDetailsCard displays the source/destination wallets and fees; ExpandableBridgeDetailRow provides an expandable row for detailed information; NetworkPathPill visualizes the source-to-destination chain path with icons; and TransferHistoryRow displays individual bridge transfers with status indicators, amounts, and timestamps.

lib/new-ui/widgets/bridge · high confidence

New UI components for wallet selection and grouping

The new wallet creation flow now uses two new widget components: GroupedWalletExpansionTile, which displays a collapsible list of child wallets with a visual indicator for the currently selected wallet, and SelectButton, a customizable button for choosing wallet types or connection methods. These components provide a consistent, theme-aware interface for navigating and selecting wallets during the setup process.

_lib/src/screens/new\wallet/widgets · high confidence

New UI list item entity components

The new UI layer now includes a set of data models for list items, providing structured entities for various input types such as checkboxes, toggles, dropdowns, selectors, text fields, and regular rows. These entities define the properties and behaviors for list items in the updated interface, enabling consistent rendering and interaction handling across different screen components.

_lib/entities/new\_ui\entities · high confidence

New UI widget library and accessibility improvements

The \lib/new-ui/widgets\ directory has been populated with a new set of UI components, including \AnimatedDropdown\, \AppsWidget\, \BorderedSvgIcon\, \ChangelogModal\, \ConfirmSwiper\, \CopyWrapper\, \DigitInput\, \DropdownRow\, \FloatingAmountInput\, and hardware wallet sheets (\HardwareWalletProceedOnDeviceSheet\, \SyncKeyImagesSheet\, \HardwareWalletTrezorParingSheet\). These widgets introduce a new visual style using superellipse borders and gradients, and significantly enhance accessibility: \ConfirmSwiper\ provides a standard button fallback for screen readers, \CopyWrapper\ uses live regions for copy feedback, and \AppsWidget\ merges semantics for better screen reader navigation.

lib/new-ui/widgets · high confidence

New USDT0 Bridge flow with dedicated history and detail views

The bridge interface has been updated to support USDT0 bridging, introducing a structured multi-step flow: entering the amount, selecting the destination network, choosing a receiving wallet or inputting an address, and confirming the transaction. A new Bridge History page allows users to view past and in-progress transfers, while tapping a transfer opens a Bridge Detail page showing specific transaction data and status indicators.

lib/new-ui/pages/bridge · high confidence

New WalletConnect UI components and enhanced approval flow

This change introduces a new set of UI widgets for the WalletConnect integration, including \EnterWalletConnectURIWidget\ for manually entering connection URIs with a paste button, and several new cards (\WCDappCard\, \WCWalletCard\, \WCPermissionsCard\, \WCMessageCard\) that structure the display of dApp details, wallet addresses, permissions, and signing messages. It also adds \WCConnectionRequestSheet\ and \WCSigningRequestSheet\ to orchestrate these components, featuring a \ConfirmSwiper\ for approval and a \WCScamBanner\ to warn users about potential scams. Additionally, \WCHeroCard\ and \WCSheetHeader\ provide consistent branding and navigation for the WalletConnect screens.

_lib/src/screens/wallet\connect/widgets · high confidence

New WalletConnect bottom-sheet UI components

Added two new widgets to the WalletConnect flow: a listener widget that manages the display of bottom sheets based on a service queue (handling timing, dismissal, and error states) and a message display widget that shows success or error messages with a close button. These components provide the visual interface for transaction approval and status updates within the WalletConnect integration.

_lib/src/screens/wallet\_connect/widgets/bottom\sheet · high confidence

New account management screens for Monero wallets

Added dedicated UI pages for managing Monero accounts: a list view that displays account names and balances with the ability to select an account or create a new one, and an edit/create page that allows users to rename or add accounts via a validated text input form.

_lib/src/screens/monero\accounts · high confidence

New bottom sheet UI components for wallet operations

The bottom sheet widget library has been expanded with a new reusable \BaseBottomSheet\ component that standardizes headers, footers (including slide-to-action, single, and double buttons), and content areas. This foundation supports several new specific sheets: \AddPassphraseBottomSheet\ for secure passphrase entry during wallet restoration, \ConfirmSendingBottomSheet\ for detailed transaction confirmation with batch sending support, \PaymentConfirmationBottomSheet\ for handling complex payment flows including EVM network selection and Silent Payment detection, and \SwapConfirmationBottomSheet\ for exchange confirmations. Additional utility sheets like \InfoBottomSheet\ (with optional third-party disclaimer), \InfoStepsBottomSheet\ for guided instructions, \CakePayCardInfoBottomSheet\ for card details, and \CakePayTransactionSentBottomSheet\ for post-transaction feedback have also been added.

_lib/src/widgets/bottom\sheet · high confidence

New build and localization tooling for Cake Wallet

The \tool/\ directory now includes a comprehensive suite of Dart scripts to automate the build and localization workflows. \configure.dart\ generates wallet-specific source files (e.g., \bitcoin.dart\, \monero.dart\) and \pubspec.yaml\ based on command-line flags, allowing for modular builds. \generate\_localization.dart\ creates the \S\ class and locale list from \.arb\ files, while \append\_translation.dart\, \translation\_add\_lang.dart\, and \translation\_consistence.dart\ manage translation updates and consistency checks. Additional utilities include \download\_moneroc\_prebuilds.dart\ for fetching native binaries, \generate\_new\_secrets.dart\ and \update\_secrets.dart\ for managing API keys and test seeds, and \fiat\_api\_check.dart\ for validating fiat rate providers.

tool · high confidence

New buy/sell selection modal introduced

A new modal dialog has been added to the buy/sell workflow, allowing users to choose between buying or selling cryptocurrency. This component presents two distinct options with descriptive text and icons, and upon selection, it navigates the user to the corresponding amount entry page using the new UI navigation system.

_lib/new-ui/widgets/buy\sell · high confidence

New coin control list item and switch row widgets

Added \unspent\_coins\_list\_item.dart\ and \unspent\_coins\_switch\_row.dart\ to support the unspent coins (UTXO) management interface. The list item widget displays individual UTXO details including amount, fiat value, address, and status indicators for sending, freezing, change outputs, MWEB, and silent payments, while the switch row widget provides a reusable UI component for toggling settings within the coin control screen.

_lib/src/screens/unspent\coins/widgets · high confidence

New desktop dashboard layout and navigation components

The desktop dashboard view has been restructured with new UI components. A sidebar navigation (SideMenu) with menu items replaces previous layouts, and a dedicated action area (DesktopDashboardActions) provides quick access to core wallet functions like show wallets, swap, receive, send, and trade. A new wallet selection dropdown (DesktopWalletSelectionDropDown) allows users to switch between wallets, create new ones, or restore from seed directly from the desktop interface.

_lib/src/screens/dashboard/desktop\widgets · high confidence

New desktop settings page with conditional menu items

A new DesktopSettingsPage has been introduced for the desktop client, featuring a two-column layout with a settings list on the left and a detail view on the right. The settings menu dynamically filters items based on wallet capabilities: Silent Payments settings are hidden if the wallet does not support them, Export Outputs is hidden for non-Monero view-only wallets, and Litecoin Mweb settings are hidden if Mweb is not enabled. This provides a cleaner, context-aware settings experience for desktop users.

_lib/src/screens/settings/desktop\settings · high confidence

New exchange providers added: Chainflip, Jupiter, Near Intents, and SideShift

The swap flow now includes four new exchange providers: Chainflip (supporting BTC, ETH, SOL, TRX, and various stablecoins), Jupiter (Solana-native swaps), Near Intents (cross-chain swaps via the Near protocol), and SideShift. Additionally, the codebase introduces a new abstract ExchangeProvider interface to standardize provider implementations and adds providers for ChangeNOW, Exolix, LetsExchange, StealthEX, and SimpleSwap (which is currently disabled).

lib/exchange/provider · high confidence

New exchange trade confirmation and information screens

Users now see a dedicated confirmation screen after initiating a swap, which displays the provider's trade ID and offers a one-tap copy-to-clipboard button for easy record-keeping. An information dialog is also presented to explain the transaction details before the user proceeds. Additionally, a new screen allows users to manually input or scan a QR code from an external wallet to complete the 'send from external wallet' flow, providing clear status updates and a continue button once the funds are detected.

_lib/src/screens/exchange\trade · high confidence

New invoice details screen for anonymous payments

A new AnonpayDetailsPage has been added to display invoice details for anonymous payments. The screen presents a list of items including status rows, trade detail cards (which respect the current theme), and copyable text fields that show a confirmation bar when tapped.

_lib/src/screens/anonpay\details · high confidence

New money display widgets and settings provider

The money widget area now includes a new \MoneySettingsCubit\ and \MoneySettingsProvider\ to manage display preferences (such as showing Bitcoin amounts in satoshis) via a BLoC-based state management approach. This is exposed to the UI through a new \BaseUnitScope\ and \BaseUnit\ inherited widget, allowing child components to reactively access base-unit settings. Additionally, new \MoneyText\ and \CurrencySymbolText\ widgets have been introduced to render formatted money amounts and currency symbols respectively, utilizing these settings to determine whether to display values in base units (e.g., 'sats') or standard currency symbols.

lib/new-ui/widgets/money · high confidence

New order tracking infrastructure for Cake Pay and buy providers

This change introduces a new \lib/order\ module that standardizes how purchase and gift card orders are stored and retrieved. It adds a Hive-backed \Order\ data model and an \OrderProvider\ abstraction with specific adapters for Cake Pay, MoonPay, and Wyre, enabling the application to fetch and display unified order history and status for these services.

lib/order · high confidence

New page for creating or renaming subaddress labels

A new \AddressEditOrCreatePage\ has been added to the subaddress screens, allowing users to create a new subaddress or rename an existing one by entering a custom label. The page includes form validation for the label text and provides a save button that updates the label and navigates back upon successful completion.

lib/src/screens/subaddress · high confidence

New reusable UI widget library for alerts, forms, and adaptive layouts

The application introduces a suite of new reusable widgets in the \lib/src/widgets\ directory to standardize the user interface. This includes \BaseAlertDialog\ and specialized variants (\AlertWithOneAction\, \AlertWithTwoActions\, \AlertWithPickerOption\, \AlertWithNoAction\) for consistent alert dialogs, alongside \BaseTextFormField\ and \AddressTextField\ for standardized input handling. Layout capabilities are enhanced with \PageViewHeightAdaptable\ for dynamic page sizing and \AlertBackground\ for modal presentation. These components provide the foundational UI elements used across the app's screens.

lib/src/widgets · high confidence

New send flow with templates, batch sending, and success confirmation

The send screen now supports saving and reusing send templates, allowing users to store recipient details and amounts for future use. It also introduces batch sending, enabling multiple recipients to be added and sent in a single transaction via a swipeable card interface. Additionally, a new success confirmation page is displayed after a transaction is committed, providing clear feedback to the user.

lib/src/screens/send · high confidence

New settings UI components and theme selection interface

The settings screen now uses a new set of dedicated widget components (such as SettingsPriorityPickerCell, SettingsChoicesCell, and SettingsSwitcherCell) to render configuration options, replacing previous implementations. A new SettingsThemeChoicesCell widget has been added, allowing users to visually select from available themes, choose accent colors, and toggle OLED mode for the black theme. Additionally, a WalletConnectTile widget has been introduced to provide a dedicated entry point for WalletConnect functionality within the settings.

lib/src/screens/settings/widgets · high confidence

New settings item components and localized headers

The settings screen now uses a dedicated \SettingsItem\ class to define individual configuration entries, requiring specific attributes like title, link, image, and associated widget builders. Additionally, a new \ItemHeaders\ class has been introduced to provide localized string constants for all settings labels, including nodes, wallets, personal settings, and support options.

lib/src/screens/settings/items · high confidence

A new SupportOtherLinksPage has been added to the application, providing a dedicated interface for users to access various support resources and external links. The screen dynamically renders a list of items using the SupportViewModel, distinguishing between standard settings cells and link provider cells, and adapts its iconography based on the current theme's brightness (light vs. dark mode).

_lib/src/screens/support\_other\links · high confidence

New utility library for address formatting, clipboard, and error handling

The lib/utils directory now includes a comprehensive set of new utility classes. AddressFormatter provides segmented and truncated display of cryptocurrency addresses with proper accessibility semantics. ClipboardUtil introduces secure clipboard handling for sensitive data using the sensitive\_clipboard package on mobile devices. ExceptionHandler manages error reporting with configurable cooldown periods and device info attachment. Additional utilities include BrightnessUtil for screen brightness management during critical operations, DateFormatter for localized date display, DatePicker for platform-specific date selection, and PaymentRequest for parsing various payment URIs including EIP-681. The diff also adds ExchangeProviderLogger for tracking exchange service calls, FeatureFlag for feature toggles, and various UI helpers like ImageUtil, ItemCell, and ShareUtil.

lib/utils · high confidence

New utility library for secure file I/O, text normalization, and network proxying

This change introduces a new set of utility modules in \cw\_core/lib/utils\ to enhance security, text handling, and network connectivity. It adds \file.dart\ for encrypted read/write operations using the \encrypt\ package, and \homoglyph\_normalizer.dart\ to detect spoofing by converting Cyrillic and Greek homoglyphs to ASCII. Text display safety is improved with \nft\_text.dart\ (sanitizing unsafe control characters) and \text\_normalizer.dart\ (normalizing Unicode and handling CJK spacing). Network reliability is supported by \proxy\_wrapper.dart\ (routing HTTP requests through Tor or clearnet) and \socket\_health\_logger.dart\ (logging wallet connection health). Additional utilities include \ipfs\_url.dart\ for normalizing IPFS links, \print\_verbose.dart\ for structured logging, and \zpub.dart\ for converting Litecoin (ltub) and Bitcoin (zpub) extended public keys to standard xpub format.

_cw\core/lib/utils · high confidence

New wallet creation flow with wallet groups and advanced privacy settings

The new wallet creation process has been restructured to support wallet groups, allowing users to create multiple wallets from a single seed or select an existing group. A new Advanced Privacy Settings page lets users configure fiat and exchange API modes, testnet usage, and specific seed types for Monero, Bitcoin, and Nano. The flow now includes dedicated screens for selecting wallet types, describing wallet group options, and verifying existing seeds when adding a child wallet.

_lib/src/screens/new\wallet · high confidence

New wallet unlock screen and argument model

Introduces a new \WalletUnlockPage\ UI component and a \WalletUnlockArguments\ data class to handle wallet authentication. The page manages password input, displays authentication progress and error states via flushbars, and supports an optional \authPasswordHandler\ for alternative authentication flows. The argument model passes necessary context such as the wallet name, type, and callbacks to the unlock screen.

_lib/src/screens/wallet\unlock · high confidence

Receive screen UI overhaul and new AnonPay invoice features

The receive screen has been redesigned with a gradient background, updated typography, and a scrollable layout that includes a dedicated address list and a share button. A new AnonPay integration allows users to create invoices and donation links, featuring a dedicated invoice creation page with form validation and a receive page that displays both clearnet and Tor (onion) links alongside a QR code. Additionally, a fullscreen QR view is now available for better visibility.

lib/src/screens/receive · high confidence

Redesigned address book with wallet-specific contacts and currency selection

The contact list screen has been redesigned to include a tabbed interface separating 'Wallets' (contacts associated with specific wallets) from general 'Contacts'. The new contact creation/editing page now allows users to select a specific currency for each contact, enabling currency-specific address validation and display. This change introduces a new \ContactListPage\ and \ContactPage\ implementation that integrates with the updated view models to support these features.

lib/src/screens/contact · high confidence

The scan page UI has been enhanced with a new network list widget that allows users to choose from various crypto networks and services. This list includes options for crypto addresses, payment invoices, contacts, and nodes, alongside external integrations for WalletConnect and OpenCryptoPay. The external service links are clearly marked with an icon indicating they open in a browser, and the entire list is wrapped in a modal top bar for easy navigation back to the previous screen.

_lib/new-ui/widgets/scan\page · high confidence

Solana wallet implementation and SPL token management

This change introduces the core Solana wallet service (\CWSolana\) and its integration with SPL tokens. Users can now create, restore, and manage Solana wallets, including support for passphrases during wallet creation and restoration. The implementation adds specific methods for handling SPL tokens, such as adding, deleting, and retrieving token details by mint address. It also includes logic for identifying transaction assets (distinguishing between SOL and SPL tokens), fetching default SPL token lists, and verifying tokens on Jupiter. Additionally, it provides utilities for getting validation lengths for token addresses and estimating transaction fees.

lib/solana · high confidence

Support chat now passes app context attributes to Chatwoot

The support chat widget now automatically sends additional contact attributes to the Chatwoot backend when the chat interface loads. These attributes include the app version, fiat API mode, wallet type, wallet synchronization state, and built-in Tor status, allowing support agents to see relevant technical context about the user's session.

_lib/src/screens/support\chat/widgets · high confidence

Support for sending to multiple Yat addresses and batch send templates

Users can now select from a list of addresses when a Yat domain resolves to multiple options, thanks to the new ChooseYatAddressAlert widget. Additionally, the send interface now supports batch sending via SendTemplateCard, allowing users to create and manage send templates with multiple recipients, including fields for recipient names, addresses, and crypto/fiat amounts.

lib/src/screens/send/widgets · high confidence

Transaction notes input widget added

A new \TextFieldListRow\ widget has been introduced in the transaction details screen to support multiline text input for user notes. This component provides a styled input field with a title and value, utilizing the app's theme for colors and typography, and triggers a callback when the user finishes editing, enabling the attachment of descriptive notes to transactions.

_lib/src/screens/transaction\details/widgets · high confidence

USDT0 cross-chain bridge support added

The application now supports bridging USDT0 (Omnichain USDT) across Ethereum, Polygon, and Arbitrum. This change introduces a new configuration class mapping token and OFT adapter addresses for these chains, a quote model for calculating transfer fees, and a service layer that handles quoting cross-chain transfers and executing them with automatic token approval on Ethereum.

_cw\evm/lib/usdt0 · high confidence

Wownero wallet account and subaddress management

The Wownero wallet integration now supports managing multiple accounts and subaddresses. Users can view, add, and rename accounts and subaddresses through the new \CWWowneroAccountList\ and \CWWowneroSubaddressList\ implementations, which expose these lists as observable collections for the UI. The wallet details view currently throws an exception for balance queries, indicating that full balance reporting is not yet implemented.

lib/wownero · high confidence

YAT onboarding popup with localized introduction flow

A new YAT popup screen has been added to guide users through a three-step introduction process before connecting or creating a YAT address. The popup displays localized text for its title and content, and includes a 'Learn More' button that triggers the introduction slides. The flow uses the DashboardViewModel to track which introduction step is active, allowing users to progress through FirstIntroduction, SecondIntroduction, and ThirdIntroduction screens. The final step provides options to create a new YAT address or connect an existing one, launching the appropriate URLs in an external browser using LaunchMode.externalApplication.

lib/src/screens/yat · high confidence

Zano wallet now supports BIP39 mnemonic recovery with optional passphrase

The Zano wallet implementation in \cw\_zano/lib\ has been updated to support restoring wallets from BIP39 mnemonic phrases, including an optional passphrase for additional security. New files such as \bip39\_seed.dart\ and \mnemonics/english.dart\ provide the underlying cryptographic functions and wordlists, while \zano\_wallet.dart\ and \zano\_wallet\_service.dart\ integrate this into the wallet creation and restoration flows. Users can now recover their Zano funds using standard 12 or 24-word seed phrases.

_cw\zano/lib · high confidence

Removals

Wownero wallet support deprecated and removed

The Wownero cryptocurrency integration has been removed from the application. The underlying library files, including the wallet service, account management, transaction history, and native FFI bindings, have been deleted. Users will no longer be able to create, open, or manage Wownero wallets, and any existing Wownero wallet data is no longer accessible through the app.

_cw\wownero/lib · high confidence

Architecture

Bitcoin wallet logic extracted into a standalone library

The Bitcoin wallet implementation has been moved from the main application into a dedicated \cw\_bitcoin\ library. This change introduces a new modular structure containing core components such as \BitcoinWallet\, \BitcoinWalletService\, address record models, and coin selection algorithms, separating Bitcoin-specific logic from the rest of the codebase.

_cw\bitcoin/lib · high confidence

Refactored Monero API into modular service files

The Monero API implementation in \cw\_monero/lib/api\ has been restructured from a single large file into distinct, modular Dart files (\account\_list.dart\, \coins\_info.dart\, \get\_all\_unspent.dart\, \monero\_output.dart\, \subaddress\_list.dart\, \transaction\_history.dart\, \wallet.dart\, and \wallet\_manager.dart\). This change organizes wallet management, transaction history, subaddress handling, and coin freezing logic into separate components, improving code maintainability and separation of concerns without altering the external API surface.

_cw\monero/lib/api · high confidence

Behavioural changes

1 commit (0 fixes) modifying assets/new-ui

A change to existing behaviour in assets/new-ui — 1 commit, 2 files.

assets/new-ui · medium confidence · unverified

Account tiles now support swipe-to-edit interaction

The account list items in the Monero accounts screen are now rendered as slidable widgets. Users can swipe an account tile to reveal an 'Edit' action button, allowing them to rename the account directly from the list view without navigating to a separate edit screen.

_lib/src/screens/monero\accounts/widgets · high confidence

Added Eclipse project metadata and ProGuard rules for Reown integration

The Android app module now includes Eclipse IDE configuration files (.classpath and .project) to support local development environments. Additionally, ProGuard rules have been added to suppress warnings for the Reown library and its dependencies (such as Zstd, Google API client, and various Java AWT/Swing classes), ensuring a clean build process when code shrinking and obfuscation are enabled.

android/app · high confidence

Added iOS Flutter project configuration files

The iOS Flutter project now includes the standard configuration files required for building the app. AppFrameworkInfo.plist defines the Flutter framework bundle metadata and sets the minimum supported iOS version to 12.0. Debug.xcconfig and Release.xcconfig are added to manage build settings by including the necessary Pods and generated configuration files for their respective build modes.

ios/Flutter · high confidence

Added specific exception classes for Monero wallet operations

The Monero API layer now includes dedicated exception classes to handle specific failure scenarios during wallet management. New types such as CreationTransactionException, SetupWalletException, WalletCreationException, WalletOpeningException, WalletRestoreFromKeysException, and WalletRestoreFromSeedException have been introduced. These allow callers to catch and distinguish between errors occurring during transaction creation, wallet setup, wallet opening, and wallet restoration processes.

_cw\monero/lib/api/exceptions · high confidence

App theming restructured around Material 3 with new Black theme variants

The theming system has been rewritten to use Material 3 color tokens and patterns, replacing the previous custom theme extensions. This introduces a new Black theme with six accent color options (Cake Primary, BCH Green, Bitcoin Yellow, Monero Orange, Tron Red, and Frosting Purple) and OLED-specific rendering modes. Theme state is now managed via a MobX store, and the app uses a new \ThemeProvider\ widget to apply the selected theme to the Material app builder.

lib/themes · high confidence

Core validation, backup, and sync services restructured

The lib/core module has been significantly reorganized to improve reliability and maintainability. Address and amount validation logic has been consolidated into dedicated, reusable classes (AddressValidator, AmountValidator, etc.) with stricter regex patterns and currency-specific rules. The backup system has been upgraded to version 3, introducing chunked exports with SHA-512 checksums for better integrity verification and support for larger wallets. Background synchronization has been refactored to handle connection states more robustly, including automatic node switching and improved error handling for stuck syncs. Additionally, new services for CSV transaction export and fiat price conversion via Tor/clearnet proxies have been added.

lib/core · high confidence

Dashboard UI overhaul with new navigation, filtering, and transaction widgets

The dashboard screen has been redesigned with a new floating bottom navigation bar (NewMainNavBar) and a slide-out menu widget (MenuWidget) that displays wallet-specific settings and icons. Transaction history is now grouped by date using DateSectionRaw and displayed via new row widgets (OrderRow, AnonpayTransactionRow) that support exchange status indicators. A new filter system allows users to sort and filter transactions and wallets via FilterWidget and FilterListWidget, while the header row includes a new CSV export button. Additional UI components like ActionButton, InfoCard, and NFTTileWidget support the updated layout and content presentation.

lib/src/screens/dashboard/widgets · high confidence

Enforce mandatory seed phrase verification for new wallets

The app now requires users to verify their recovery phrase before proceeding. This change introduces a new verification flow consisting of a step-by-step selection interface (where users pick words from options) and a success screen. If the user enters incorrect words more than twice, the process is aborted and the user is navigated away. Upon successful verification, the wallet is marked as verified, and for new Bitcoin wallets, the user is guided through the post-seed flow; otherwise, the main wallet screen is opened.

_lib/src/screens/seed/seed\verification · high confidence

Hardware wallet connection flow redesigned with new UI and Monero support

The hardware wallet connection experience has been completely overhauled with a new visual design. The \SelectDeviceManufacturerPage\ now presents available manufacturers (Ledger, Trezor, BitBox, Cupcake, Coldcard) with distinct tiles, separating currently available devices from those marked as 'coming soon' (Seedsigner, Foundation, Keystone). The connection flow for Monero has been expanded to include a dedicated options page (\MoneroHardwareWalletOptionsPage\) for setting the wallet name and blockchain height, as well as a new modal (\MoneroHardwareWalletPassphraseInputModal\) for entering passphrases. The main \ConnectDevicePage\ now handles both initial connections and reconnections, dynamically adjusting the title and navigation behavior (hiding the back button during reconnection) based on the \isReconnect\ flag, while actively scanning for BLE and USB devices with a 'long wait' indicator if no devices are found after 10 seconds.

_lib/src/screens/connect\device · high confidence

Improved QR code format selection and display

The UR QR widget now provides a better user experience for switching between QR code formats. A new selection dialog allows users to choose from available formats with clear visual indicators, while a dedicated info bottom sheet explains the format details. The main QR display widget has been updated to support this new selection mechanism, replacing the previous legacy switch with a more intuitive interface that highlights the current format and allows easy navigation between options.

lib/src/screens/ur/widgets · high confidence

The root screen now manages authentication state more robustly when handling deep links and app lifecycle changes. It checks whether authentication is required after the user returns to the app (on resume) and ensures that navigation to deep link targets occurs only after the user is authenticated or if the wallet is not yet initialized. It also stops Payjoin sessions and trade monitoring when the app is paused, and resets the inactive state upon resuming.

lib/src/screens/root · high confidence

Introduce Money class and refactor currency handling

The \cw\_core/lib/amount\ library has been refactored to use a new \Money\ class for representing currency amounts, replacing previous double-based or string-based handling. This change introduces precise arithmetic operations (addition, subtraction, comparison) using \BigInt\ to avoid floating-point errors, along with dedicated classes for exchange rate conversion (\ExchangeRate\) and user input sanitization (\amount\_sanitizer\). Users will now benefit from more accurate financial calculations, support for locale-specific formatting via \money\_local.dart\, and safer parsing of currency values through extensions like \ToMoney\ on doubles.

_cw\core/lib/amount · high confidence

Introduce WalletConnect v2 (Reown) integration with queued bottom-sheet UI

The WalletConnect service layer has been replaced with the Reown WalletKit SDK, enabling WalletConnect v2 protocol support. This change introduces a new \BottomSheetService\ that queues connection and signing requests, ensuring users see one request at a time rather than overlapping modals. The service now manages pairings, sessions, and auth requests using observable lists and handles initialization with a timeout, while registering accounts for EVM and Solana chains.

_lib/src/screens/wallet\connect/services · high confidence

Introduce new Cake Pay mobile UI and backend integration

The Cake Pay module has been restructured with a new mobile-first interface and updated backend communication. The UI now includes dedicated pages for authentication (welcome, OTP verification, account management) and card purchasing, featuring a redesigned card selection flow that supports prepaid ranges, fixed denominations, and custom amounts. The backend integration has been migrated to new API endpoints for authentication, order creation, and vendor retrieval, with improved error handling for unauthorized sessions and support for multiple cryptocurrency payment methods including Bitcoin, Lightning, Monero, Litecoin (MWEB), and Zcash.

_lib/cake\pay · high confidence

Introduce new Support Chat screen with Chatwoot integration

The support chat interface has been replaced with a new implementation that displays a Chatwoot widget. This screen now passes additional context to the chat provider, including the app version, fiat API mode, wallet type, wallet sync state, and built-in Tor state, allowing support agents to see richer user context. The screen retrieves an authentication cookie from secure storage to initialize the chat session.

_lib/src/screens/support\chat · high confidence

Introduce new WalletConnect connections listing and pairing detail screens

The WalletConnect interface has been replaced with new views for managing dApp connections. The connections listing screen now handles pairing via deep links, QR code scanning, and manual URI pasting, displaying active pairings with their metadata. The pairing detail screen provides a dedicated view for each connection, showing the dApp information, session expiry date, associated wallet addresses, and permissions, along with a button to disconnect the pairing.

_lib/src/screens/wallet\connect · high confidence

Introduces new base page architecture and UI components for screens

The app now uses a new \BasePage\ abstract class in \lib/src/screens\ to standardize screen layouts, supporting multiple \AppBarStyle\ options (regular, with shadow, transparent, completely transparent) and integrating with the new theme system via \ThemeStore\. This change introduces \InfoPage\ for displaying informational content with theme-aware images and a primary action button, \SelectOptionsPage\ for presenting lists of selectable items with a bottom section, and \YatEmojiId\ as a slide-up modal for displaying YAT emoji IDs. These components replace previous ad-hoc screen implementations, providing a consistent visual structure and navigation behavior across the application.

lib/src/screens · high confidence

Introduces reactive architecture for wallet state and connectivity management

The \lib/reactions\ directory now contains a new set of reactive modules that centralize and automate core wallet behaviors. \bootstrap.dart\ initializes these reactions, including authentication state handling, wallet switching, and fiat rate updates. \check\_connection.dart\ implements a periodic health check that automatically reconnects wallets to nodes (including via Tor) when connectivity is lost or fails, while respecting specific sync states for Bitcoin and Decred. \on\_current\_wallet\_change.dart\ orchestrates the setup of new wallets, triggering node connections, token discovery for EVM/Solana/Tron chains, and auto-generation of subaddresses. \on\_current\_node\_change.dart\ ensures the wallet reconnects to the correct node when the user switches nodes in settings. \fiat\_rate\_update.dart\ and its associated reaction files (\on\_current\_fiat\_change.dart\, \on\_current\_fiat\_api\_mode\_change.dart\) manage periodic fiat price fetching and react to mode changes (e.g., enabling/disabling Tor-only fiat). \on\_wallet\_sync\_status\_change.dart\ handles wakelock management and resumes Payjoin sessions upon successful sync. \wallet\_connect.dart\ and \wallet\_utils.dart\ provide utility functions and compatibility checks for WalletConnect chains and wallet types.

lib/reactions · high confidence

Introduces structured API models for Zano wallet operations

The Zano API layer now exposes a comprehensive set of typed data models to handle wallet interactions, replacing ad-hoc JSON handling with structured classes. This includes models for wallet status and information (GetWalletInfoResult, GetWalletStatusResult), balance tracking (Balance, Wi, WiExtended), and transaction management (Transfer, Destination, TransferParams, TransferResult). The Transfer model specifically introduces logic to map raw transaction data into user-friendly ZanoTransactionInfo objects, handling both simple and complex multi-asset transfers. Additionally, utility models for error constants, address validation, and daemon proxying are added to support the underlying wallet functionality.

_cw\zano/lib/api · high confidence

Introduction of closable biometric-authenticated PIN entry screen

The authentication flow now features a new \AuthPage\ that supports biometric authentication as the primary method, automatically triggering it upon load if allowed, while retaining PIN code entry as a fallback. The screen is now closable via a new \ModernButton\ in the navigation bar, allowing users to dismiss the authentication prompt. It also includes improved handling for authentication states, displaying progress indicators during execution and specific error bars for failures or banned attempts, ensuring a more responsive and user-controllable login experience.

lib/src/screens/auth · high confidence

MWeb integration now uses FFI for native communication

The MWeb module in the \cw\_mweb\ library has been refactored to communicate with the underlying MWeb daemon via FFI (Foreign Function Interface) instead of the previous method. This change introduces a new \MWebFfi\ class that directly loads and calls native platform libraries (such as \mweb.dll\, \libmweb.so\, or \Mwebd.framework\) to handle core operations like starting the server, generating addresses, and managing the connection lifecycle. The existing Dart-based RPC client and generated protobuf/gRPC code remain in place to handle the client-side protocol, but the heavy lifting of interacting with the native node is now offloaded to the FFI layer, improving performance and reliability for Litecoin MWeb support.

_cw\mweb/lib · high confidence

Migrate exchange trade history from Hive to SQLite

The exchange module now stores trade history in a local SQLite database instead of the legacy Hive storage. This change introduces a new \Trade\ model with SQLite persistence and a \TradeLegacy\ adapter to automatically migrate existing trade records from Hive to the new database, ensuring that past swap and exchange history remains accessible after the update.

lib/exchange · high confidence

Migration to SQLite database with recovery screen and platform-specific storage fixes

The application now uses SQLite for local data storage, introducing a new database schema (version 12) that includes tables for wallets, balances, trades, bridges, nodes, and various token standards (EVM, Solana, TRON, NFTs). This change moves the database file from the default Flutter path to a predictable app directory to ensure it is included in backups and to fix issues where the database was stored in random locations on Windows or deleted on iOS. A new recovery screen is displayed if the SQLite database fails to open, allowing users to attempt recovery or reset the database. Additionally, debug markers for SQLite are now only enabled in debug and profile modes.

_cw\core/lib/db · high confidence

Monero wallet adapter implementation and automatic transaction priority

The lib/monero directory now includes the CWMonero adapter classes (CWMoneroAccountList, CWMoneroSubaddressList, CWMoneroWalletDetails, and CWMonero) which bridge the internal wallet state to the application's account and subaddress UI models. This change also sets the default transaction priority for Monero to 'automatic' via the getDefaultTransactionPriority method, ensuring users send transactions with optimal fee estimation by default rather than manual selection.

lib/monero · high confidence

Monero wallet logic restructured with new service and hardware support

The Monero wallet implementation in cw\_monero/lib has been reorganized into a new modular structure. This includes a dedicated MoneroWalletService handling wallet creation and restoration (supporting Polyseed, BIP39, and legacy seeds), new classes for managing accounts, subaddresses, and transaction history, and specific integrations for Ledger and Trezor hardware wallets. The change also introduces a new MoneroBalance class and refactors how unspent outputs and pending transactions are handled.

_cw\monero/lib · high confidence

New EVM chain client implementations for Arbitrum, Base, BSC, Ethereum, and Polygon

The \cw\_evm/lib/clients\ directory now includes dedicated client classes for five EVM-compatible networks: Arbitrum (chain ID 42161), Base (8453), Binance Smart Chain (56), Ethereum Mainnet (1), and Polygon (137). Each client extends the new \EVMChainClient\ base class, which handles transaction fetching via Etherscan API v2, spam filtering, and transaction merging. The specific clients implement chain-specific transaction creation logic, notably falling back to \maxFeePerGas\ as the gas price for Arbitrum, Base, BSC, and Polygon when EIP-1559 parameters are present but legacy gas price is missing, and Ethereum client prepends the transaction type byte 0x02 for EIP-1559 transactions.

_cw\evm/lib/clients · high confidence

New EVM wallet service implementation

The EVM module now uses a new \CWEVM\ class to manage wallet operations, replacing the previous implementation. This change introduces specific handling for EVM wallet creation (including seed, private key, and hardware wallet restoration), address and key retrieval, transaction priority settings, and ERC20 token management, ensuring a dedicated service layer for Ethereum-compatible chains.

lib/evm · high confidence

New UI components for seed verification screens

The seed verification flow now uses a redesigned UI built from new layout widgets. Users will see a page scaffold with a gradient background and optional footer, a header section displaying a hero image (with a warning badge variant) and centered title, and a checkbox row component for selecting seed phrases. These changes update the visual presentation and structure of the pre-seed and seed verification screens.

lib/new-ui/widgets/seed · high confidence

New action row with improved accessibility and scan logic

The Coins page now uses a new \CoinActionRow\ widget containing circular action buttons for Send, Receive, Swap, and Scan. This update improves accessibility by ensuring each button is exposed as a single labeled node for screen readers. The Scan button's logic has been refined to correctly handle Lightning Network invoices, LNURL payments, and WalletConnect links, replacing previous ad-hoc parsing hacks.

_lib/new-ui/widgets/coins\_page/action\row · high confidence

New backup screen design and export flow

The backup interface has been redesigned to display the current backup password with a tap-to-copy action and provides a dedicated 'Export Backup' button. This export action triggers a confirmation dialog and then handles file saving differently by platform: Android users can choose to save to Downloads or share the file, iOS users can share the file directly, and desktop users are prompted to select a save location via a file picker.

lib/src/screens/backup · high confidence

New buy flow architecture with expanded payment options

The buy module has been restructured with new core classes (BuyProvider, BuyQuote, BuyAmount) to support a redesigned buy/sell experience. This update introduces support for Revolut Pay alongside existing methods like Apple Pay and Google Pay, and implements a provider recommendation system that highlights options based on best rate, low KYC requirements, or highest success rate.

lib/buy · high confidence

New buy/sell flow with provider selection and confirmation

The buy and sell experience has been redesigned with a multi-step flow. Users now select an amount on a dedicated page, choose a payment method, and review quotes from multiple providers before confirming the transaction. The interface includes a provider selection list with an expandable 'more options' section, a confirmation screen displaying the selected provider, rate, and payment method, and a redirecting page that handles the transition to the external exchange. The flow also handles error states, such as failed quote loading or trade redirection, with appropriate user feedback.

_lib/new-ui/pages/buy\sell · high confidence

New custom lint rules for accessibility, security, and code quality

The \cw\_custom\_lints\ package now enforces several new static analysis rules to improve code quality and security. Developers will receive warnings for using the standard \http\ package (encouraging \ProxyWrapper\ or an alias instead), calling \Money.amount.toString()\ which drops decimal precision (with quick-fixes to use \toString()\ or \toStringWithPrecision\), and using bare \print()\ calls outside tool directories (with a quick-fix to use \printV\). Accessibility is improved by requiring semantic labels on \ModalTopBar\ icons and \ModernButton\ widgets when no visible label is present. Additionally, the linter now prevents importing coin-specific packages (like \cw\_bitcoin\ or \cw\_evm\) in general library code to maintain architectural boundaries, and flags bare \catch\ blocks that do not specify an exception type.

_cw\_custom\lints · high confidence

New dashboard UI with modal navigation and long-press actions

The app introduces a new dashboard interface (lib/new-ui) that replaces the previous layout. This update adds a new main navigation bar and a dashboard view that manages page switching via an IndexedStack. It includes a new ModalNavigator component to handle full navigation stacks within modal sheets, supporting iOS-style back animations across all platforms. Additionally, a LongPressPopupBuilder widget enables long-press gestures to trigger contextual popups with a blur effect. The dashboard also integrates logic to show changelogs for new versions and warnings for vulnerable seeds upon launch.

lib/new-ui · high confidence

New dashboard UI with redesigned navigation and enhanced wallet features

The dashboard interface has been overhauled with a new visual design, including a floating navigation dock with a frosted-glass effect and a dedicated Cake Features page that showcases apps like Cake Pay, Cupcake, and Radar. This update introduces comprehensive NFT support for Solana and EVM chains, adding pages for listing, importing, viewing details, and sending NFTs. The transaction history view now supports multiple transaction types, including Anonpay, Payjoin, and Trade records, and allows exporting history to CSV. Additionally, the address page now supports receiving with specific options for Monero and includes a share function.

lib/src/screens/dashboard/pages · high confidence

New exchange trade card and transaction timer widgets

The exchange trade screen now uses dedicated widget components for its UI: \ExchangeTradeCardItemWidget\ renders the trade details list, including a fee selection picker with a low-fee warning alert and a coin control entry point, while \TimerWidget\ displays a live countdown to transaction expiration. These changes introduce the visual structure and interactive elements for the new exchange trade design.

_lib/src/screens/exchange\trade/widgets · high confidence

New hardware wallet connection and service abstraction

The hardware module has been refactored to introduce a structured connection model and service interface. A new \DeviceConnectionType\ enum defines supported connection methods (USB and BLE) and maps them to specific hardware wallet brands (BitBox, Ledger, Trezor) and supported cryptocurrencies (Bitcoin, Ethereum, Litecoin, Monero, Polygon), with platform-specific logic for iOS. A new \HardwareWalletService\ abstract class standardizes core operations like retrieving available accounts and signing transactions/messages, while supporting data structures (\HardwareAccountData\) and error handling (\DeviceNotConnectedException\) have been added to support this new architecture.

_cw\core/lib/hardware · high confidence

New list row widget system with unified styling and section support

The application now uses a new \new\_list\_row\ widget system to render list items, introducing a consistent visual style across settings and configuration screens. This system features a \ListItemStyleWrapper\ that applies rounded corners (18px radius) to the first and last items in a section, creating a grouped card appearance. It supports multiple item types including regular rows (with icons, badges, and copy-to-clipboard), checkboxes, toggles, dropdowns, selectors, and text fields, all sharing the same padding and typography (Wix Madefor Text, 14px). The \NewListSections\ widget manages these items in grouped sections with optional headers, ensuring consistent spacing and visual hierarchy.

_lib/src/widgets/new\_list\row · high confidence

New node management UI with reusable form and list components

The node list and node creation/editing screens have been redesigned with a new visual style. This change introduces a reusable \NodeForm\ widget for creating and editing nodes, supporting fields for address, port, path, authentication credentials, SSL, trusted status, SOCKS proxy, and automatic node switching. A new \NodeListRow\ widget displays nodes with labels, URIs, speed indicators, and official/builtin badges, while a \NodeIndicator\ widget provides a live status dot. These components replace the previous node list and form implementations.

lib/src/screens/nodes/widgets · high confidence

New settings display modes and migration logic

The app introduces new user-facing display preferences for how balances and transaction lists are shown. Users can now choose between Full, Available, Hidden, and Displayable balance modes, and toggle the main list to show either transactions or trades. These preferences are persisted using new serialization logic and are applied via a new default settings migration that initializes these values for existing users.

lib/entities · high confidence

The support screen has been redesigned to present three distinct options: Live Chat, Guides, and Other Links. On desktop devices, selecting Live Chat opens the support URL in an external browser, while on mobile it navigates to an in-app chat view. The Guides option opens documentation via an external link, and Other Links navigates to a dedicated page for additional resources. The UI adapts to the current theme (dark or light) by swapping SVG assets for icons.

lib/src/screens/support · high confidence

Receive page redesigned with new UI components and accessibility improvements

The receive page has been rebuilt using a new set of modular widgets (such as PayjoinCopyModal, ReceiveAddressTypeSelector, and ReceiveAmountModal) that provide a refreshed visual design and smoother animations. This update introduces a dedicated Payjoin copy modal allowing users to choose between standard and Payjoin URIs, and adds a token selection picker within the amount modal. Accessibility has been significantly enhanced through the use of MergeSemantics and explicit semantic labels to ensure screen readers announce complex controls (like address types and amounts) as single, coherent units, and to provide audible feedback when content is copied.

_lib/new-ui/widgets/receive\page · high confidence

Receive screen UI overhaul with new widget components and Anonpay support

The receive screen has been redesigned with a new set of widgets, introducing a structured address list with search, hidden address toggling, and slidable edit/delete actions for subaddresses. A new QR image component displays the wallet logo and supports accessibility labels. The interface now includes dedicated currency input fields for standard and Anonpay flows, allowing users to select currencies and enter amounts with min/max value indicators. Additionally, Anonpay invoice status and copy/share link utilities have been added to support the new invoice generation workflow.

lib/src/screens/receive/widgets · high confidence

Redesigned Coins Page top bar with sync status and Lightning toggle

The Coins Page top bar has been replaced with a new layout that dynamically adapts to the wallet's synchronization state. When the wallet is syncing or encountering errors, the wallet name is replaced by a Sync Bar displaying the current status (e.g., 'Synchronizing', 'Failed') and providing access to node management. Once synced, a brief 'Synced' confirmation message appears before reverting to the wallet name. For wallets with Lightning support, a new toggle switch allows users to switch between Bitcoin and Lightning modes, featuring haptic feedback and clear visual indicators. The design also includes a pulsing dot indicator for sync activity and respects platform-specific safe area insets.

_lib/new-ui/widgets/coins\_page/top\_bar\widget · high confidence

Redesigned Coins Page with Migration, Backup, and Accessibility Improvements

The Coins Page has been rebuilt with a new UI theme and enhanced accessibility. Users now see a dedicated MWEB advertisement card with settings navigation, a new Seed Backup Reminder card to encourage recovery phrase safety, and improved token image rendering that automatically detects and handles circular versus hollow icon shapes. The Unconfirmed Balance widget now supports the Zcash Ironwood network migration, displaying specific progress indicators and a migration modal for affected wallets. Additionally, the Wallet Info bar now displays hardware wallet icons and improved semantic labels for screen readers.

_lib/new-ui/widgets/coins\page · high confidence

Redesigned assets and history sections with new UI components

The assets and history sections on the coins page have been rebuilt using a new set of widgets (including \AssetsHistorySection\, \AssetTile\, \HistorySection\, and \AssetDetailsModal\). This change introduces a tabbed interface for Assets, History, and NFTs, with a dedicated modal for viewing full transaction history and applying filters. The new design improves accessibility by merging semantic nodes for better screen reader support and updates the visual layout for asset balances and transaction history items.

_lib/new-ui/widgets/coins\_page/assets\history · high confidence

Redesigned balance page with NFT support and new UI components

The balance page has been completely rewritten to feature a new design, including a tabbed interface that conditionally displays an 'My NFTs' tab for supported chains. The layout now uses new components like BalanceRowWidget and CryptoBalanceWidget to display balances, with specific handling for hardware wallet icons, testnet indicators, and various balance states (available, additional, frozen).

lib/src/screens/dashboard/pages/balance · high confidence

Redesigned buy and sell flow with new provider selection and payment method screens

The buy and sell experience has been restructured with new UI screens: a dedicated Buy/Sell page for entering amounts and selecting currencies, a Buy Options page to choose a provider (e.g., MoonPay, Wyre), and a Payment Method Options page to select how you pay. The Buy WebView page now handles provider-specific order tracking by polling the webview URL for completion keywords (e.g., transaction IDs) and saving orders to the store. A generic WebView page enforces camera consent before granting permissions during in-app webview interactions.

lib/src/screens/buy · high confidence

Redesigned coin cards with customizable designs and improved accessibility

The coin balance cards in the dashboard have been replaced with a new component that supports customizable visual designs, including gradient backgrounds and SVG artwork. The new layout introduces a card selection mechanism where tapping a card selects it, and long-pressing toggles the visibility of the balance value. Accessibility has been improved by adding semantic labels to the cards and ensuring that only the selected card's balance is announced by screen readers. The view also handles compact mode by scaling and overlapping cards, and integrates with the new buy/sell flow via action buttons.

_lib/new-ui/widgets/coins\page/cards · high confidence

Redesigned currency and fiat pickers with network filtering and recents

The currency and fiat pickers have been redesigned to support network-based filtering and recent asset tracking. Users can now filter crypto assets by specific blockchain networks using a new chain chip strip, and the picker displays a 'Recents' section populated from trade history or order books. The interface now includes a dedicated search field, stablecoin variant selection (e.g., choosing between USDT on different chains), and a single-network layout that groups tokens by standard (e.g., ERC-20) and shows native gas token balances. A new fiat currency picker allows selection of fiat pairs with search and popular currency shortcuts.

_lib/new-ui/widgets/currency\picker · high confidence

Redesigned dashboard with new navigation, desktop layout, and token management

The dashboard screen has been completely rebuilt to support a new UI design, introducing a dedicated desktop layout with a sidebar wrapper and a responsive mobile view that adapts to screen width changes. The interface now features a new main navigation bar, a page indicator, and an EVM chain switcher for wallets supporting multiple chains. Token management capabilities have been expanded with a new home settings page that allows users to sort balances, toggle combined balance views, and set favorite tokens. Additionally, a new edit token page enables users to add or modify custom tokens with contract address validation and verification checks, while a favorite token modal simplifies token selection. The dashboard also integrates a new sign/verify message flow and updates the service bulletin and vulnerable seed warning popups.

lib/src/screens/dashboard · high confidence

Redesigned exchange and exchange template screens with fixed-rate mode and improved keyboard handling

The exchange and exchange template screens have been completely redesigned to improve usability and visual consistency. Key changes include the addition of a fixed-rate mode checkbox on the exchange page, allowing users to lock in rates for specific pairs. The UI now features a transparent app bar with an extended body, and keyboard behavior has been refined with proper focus management and done buttons for amount fields. The template page introduces a new layout with distinct deposit and receive cards, including support for refund addresses and currency selection. Additionally, the screens now display sync status indicators and handle payment requests more robustly.

lib/src/screens/exchange · high confidence

Redesigned exchange interface with buy/sell toggle and new currency picker

The exchange screen now features a new UI layout that includes a Buy/Sell toggle switch, allowing users to switch between buying and selling modes. A new currency picker widget has been introduced to replace the previous selection mechanism, offering improved search and display capabilities. The layout is now split into mobile and desktop-specific card sections to better adapt to different screen sizes, and the provider selection has been updated to a checkbox-based popup for easier multi-provider management.

lib/src/screens/exchange/widgets · high confidence

Redesigned node creation and editing interface with new UI components

The node creation and editing screens have been rebuilt using the new UI design system. The standard node form now uses a modal top bar and a dedicated node form widget, while the Proof-of-Work (PoW) node form includes a QR code scanning button in the header and distinct Save/Delete buttons at the bottom. A new 'Share Node' page has been added, allowing users to generate a QR code for sharing node connection details. Connection testing feedback is now displayed via pop-up alerts indicating success or failure.

lib/src/screens/nodes · high confidence

Redesigned rescan page with silent payments and MWeb support

The rescan screen has been updated to support Silent Payments and MWeb scans. For most wallets, users can now specify a block height or date to start the rescan from, with the button enabling only when input is valid. For Decred wallets, the height selector is hidden, and the rescan starts from the beginning. Additionally, initiating a Silent Payments scan may prompt a confirmation dialog to switch the node to an Electrs SP-enabled backend if necessary.

lib/src/screens/rescan · high confidence

Redesigned seed backup and verification flow with new warning screens

The seed management experience has been redesigned to improve clarity and security. A new pre-seed page now requires users to explicitly confirm they understand the recovery phrase is the only way to recover their wallet, will write it down, and will never share it before proceeding. The flow includes new dedicated screens for showing keys (with a warning badge), skipping verification, and dismissing backup reminders, all featuring updated warning icons and consistent styling. Additionally, a new backup reminder page prompts users to show their recovery phrase, integrating with 2FA settings, and the post-seed navigation now correctly routes Bitcoin users to the Lightning username page while other wallet types return to the home screen.

lib/new-ui/pages/seed · high confidence

Redesigned send page with enhanced accessibility and new UI components

The send page has been rebuilt with a new set of UI widgets that improve the user experience and accessibility. The interface now features a directional animated switcher for smoother transitions, a fiat amount bar for easy currency switching, and a floating icon button for actions like pasting or scanning. The address input has been refined with better semantic labeling for screen readers, and the amount input now includes a dedicated asset picker. A new wallet selector allows users to choose from multiple wallets for L2 actions, while the confirmation sheet provides clearer status updates and error handling. These changes collectively create a more intuitive and accessible send flow.

_lib/new-ui/widgets/send\page · high confidence

Redesigned trade details screen with new UI components

The trade details screen has been reworked to use a new set of UI components, including \TradeDetailsListCardItem\ for displaying trade pairs and IDs, \TrackTradeListItem\ for copyable values with launch actions, and \DetailsListStatusItem\ for status updates. The \TradeDetailsPage\ now utilizes a \SectionStandardList\ to render these items, supporting features like tapping to copy values and launching external links, while also handling unsupported trade providers gracefully.

_lib/src/screens/trade\details · high confidence

Redesigned wallet keys screen with tabbed navigation

The wallet keys interface has been completely redesigned to use a tabbed layout, allowing users to easily switch between Seed, Keys, Silent Payments, and Legacy Seed views. This change introduces a new \WalletKeysPage\ that dynamically renders tabs based on the wallet's capabilities, improving the organization and accessibility of sensitive wallet information.

_lib/src/screens/wallet\keys · high confidence

Redesigned wallet restore flow with new backup and derivation options

The restore experience has been overhauled with a new \RestoreOptionsPage\ that presents distinct paths for restoring from seeds/keys, hardware wallets, QR codes, and a new dedicated \RestoreFromBackupPage\ for encrypted backup files. The underlying forms (\WalletRestoreFromSeedForm\ and \WalletRestoreFromKeysForm\) now include a 'Generate Name' button to auto-generate wallet names and support for wallet passwords. Additionally, a new \WalletRestoreChooseDerivationPage\ allows users to select specific derivation paths when restoring, and a \SweepingWalletPage\ provides a dedicated loading state for wallet sweeping operations.

lib/src/screens/restore · high confidence

Redesigned welcome screen with new UI assets and onboarding flow

The welcome screen has been updated with a new visual design, including new SVG assets for light and dark themes and a gradient background. The layout now features a prominent hero image, animated typing text for the tagline, and two primary action buttons: 'Create New Wallet' and 'Restore Existing Wallet'. A new 'Create Pin' page has been added to the onboarding flow, allowing users to set up a PIN directly. The interface also includes a help icon that links to the documentation.

lib/src/screens/welcome · high confidence

Refactor WalletConnect chain services into modular EVM and Solana implementations

The WalletConnect chain service logic has been restructured into distinct, modular components for EVM-compatible chains and Solana. This change introduces dedicated service classes (\EvmChainServiceImpl\ and \SolanaChainService\) along with supporting enums for chain IDs (\EVMChainId\, \SolanaChainId\) and supported RPC methods (\EVMSupportedMethods\, \SolanaSupportedMethods\). For EVM chains, the service now explicitly handles methods like \eth\_sign\, \personal\_sign\, and \eth\_sendTransaction\ for networks including Ethereum, Polygon, Base, Arbitrum, and BSC. For Solana, it manages \solana\_signMessage\ and transaction signing across mainnet and testnets. This refactoring centralizes the request handling and signature logic within these specific chain implementations, improving code organization and maintainability for WalletConnect interactions.

_lib/src/screens/wallet\_connect/services/chain\service · high confidence

Refactored proxy socket implementation with improved connection handling

The proxy socket layer has been restructured into a modular design with an abstract base class and specific implementations for insecure, secure, and SOCKS connections. This change introduces a unified \isClosed\ state to prevent operations on closed sockets, ensuring that writes and closures are safely guarded against errors. Additionally, the secure socket implementation now uses \runZonedGuarded\ to catch both synchronous and asynchronous errors during writes, improving stability. The system also integrates with the embedded Tor service via SOCKS when available, providing a consistent interface for network connections regardless of the underlying transport.

_cw\_core/lib/utils/proxy\socket · high confidence

Settings interface restructured into dedicated sub-pages

The settings interface has been reorganized into distinct, dedicated screens for specific configuration areas. New pages have been introduced for Background Sync, Connection and Sync options, Display settings, Domain Lookups, Node management, MWEB settings, Other settings, and Privacy. This change replaces the previous monolithic settings view with a modular structure, allowing users to access specific settings like background sync modes, node management, and privacy toggles through their own focused pages.

lib/src/screens/settings · high confidence

Store layer migrated to MobX with new transaction and template management

The application's state management in the store layer has been replaced with MobX, introducing observable stores for core features. This includes new stores for managing Anonpay and Payjoin transactions, bridge transfers, and fiat conversion prices. Dashboard functionality is enhanced with dedicated stores for orders, trades, and granular filtering of transactions (incoming, outgoing, silent payments) and exchange providers. Additionally, the system now supports persistent templates for send and exchange actions, and centralizes wallet switching logic in a new AppStore that handles WalletConnect lifecycle events.

lib/store · high confidence

Transaction details screen refactored with Replace-By-Fee support

The transaction details page has been rebuilt using a new, extensible list-item architecture (TransactionDetailsListItem subclasses) to improve UI consistency and readability. This change introduces a dedicated 'Bump Fee' button that opens a new RBF details page, allowing users to adjust fee rates and replace transactions. The UI also now features improved address formatting for recipient and source addresses, and the block explorer link is displayed as a distinct, tappable item.

_lib/src/screens/transaction\details · high confidence

Updated iOS Xcode scheme for Flutter debugging and GPU validation

The iOS build scheme for the Runner app has been recreated to support the Flutter project structure, enabling the use of the Flutter LLDB init file for debugging and enabling GPU validation mode in the launch configuration.

ios/Runner.xcodeproj/xcshareddata · high confidence

Wallet list now supports reordering and grouping by shared seed

The wallet list screen has been updated to allow users to manually reorder their wallets via drag-and-drop, with a new filter button to sort the list. It also introduces a new visual grouping for wallets that share a single seed phrase, displaying them under a dedicated 'Shared Seed Wallets' section with expandable tiles.

_lib/src/screens/wallet\list · high confidence

Zcash wallet engine migrated to Zkool2 with Ironwood (NU6.3) support

The Zcash library has been rebuilt on the Zkool2 backend, introducing support for the Ironwood network upgrade (NU6.3) and a new unified address model. Users benefit from improved privacy via automatic shielding of transparent funds to shielded pools, while existing Ywallet Zcash users can seamlessly migrate their balances and transaction history to the new format. The wallet now supports multiple address types (Transparent, Sapling, Orchard, and Unified) and includes a transparent address rotation feature to enhance privacy by generating new addresses for each receipt.

_cw\zcash/lib · high confidence

iOS native layer migration and legacy wallet decryption support

The iOS native implementation has been migrated to Swift, introducing a new \AppDelegate\ that registers method channels for legacy wallet migration and native utilities. This includes a new \decrypt.swift\ module that allows the app to decrypt old wallet data using PBKDF2 and Blowfish, ensuring users can access their existing funds after migration. Additionally, the project now includes a \PrivacyInfo.xcprivacy\ file to declare API usage for App Store compliance, and the \Info.plist\ has been updated with base configurations and URL schemes for supported cryptocurrencies.

ios/Runner · high confidence

iOS project configuration updated with BreezSDK and new wallet frameworks

The iOS build project has been reconfigured to integrate the BreezSDK for Lightning Network functionality and support for Monero, Wownero, and Zano wallets via xcframeworks. This change adds specific Swift bindings and resources for the BreezSDK, includes new native wallet frameworks for privacy-focused cryptocurrencies, and updates the project structure to support these dependencies.

ios/Runner.xcodeproj · high confidence

iOS workspace configuration initialized

The iOS project workspace has been initialized with standard Xcode configuration files, including the workspace data, IDE checks, and workspace settings. Specifically, the workspace settings disable Xcode Previews to streamline the build environment, while the IDE checks file ensures proper workspace state management.

ios/Runner.xcodeproj/project.xcworkspace · high confidence

Test coverage

Added initial test file for cw\_dogecoin package; Added integration test driver for Flutter; Added test coverage for amount handling, currency conversion, and localization; Added tests for BIP39 seed derivation; Added tests for Bitcoin coin selection, locktime, and output ordering logic; Added tests for Solana wallet currency resolution and basic calculator logic; Added unit tests for EVM chain formatting and RLP decoding; Added unit tests for Monero wallet seed generation and service operations; Added unit tests for core formatting, parsing, and wallet data logic; Added unit tests for core wallet validation and payment logic; Added unit tests for the Calculator class; New automated integration test infrastructure for wallet flows.

Dependencies

Added Gradle wrapper configuration

The project now includes a Gradle wrapper configuration file that pins the build system to Gradle version 8.14.4, ensuring consistent build environments across different machines.

android/gradle · high confidence

Android build configuration and dependency updates

The Android build configuration has been updated to target SDK version 36 and compile with Java 17, while also enabling legacy packaging for JNI libraries to ensure native libraries like libtor.so are correctly extracted. Additionally, the project's dependency manifests (pubspec files) and Android build files have been refreshed, including updates to the Android Gradle plugin version (8.9.1), Kotlin version (2.3.20), and various Dart/Flutter packages such as grpc, mobx, and ledger plugins.

(dependencies) · high confidence

Housekeeping

Added Eclipse Buildship configuration file

The project now includes a new \org.eclipse.buildship.core.prefs\ file in the \android/.settings\ directory, which configures the Eclipse Buildship Gradle integration. This file sets the connection project directory to the root and initializes the Eclipse preferences version, ensuring consistent Gradle project handling within the Eclipse IDE.

android/.settings · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Baseline

  • First survey — no prior run to compare against. CAI 31.

Lenses

  • Code Health 82
  • Architecture 95
  • Maturity 65
  • Readiness 38
  • Security 47
  • Domain Modelling 64
  • Event-Driven 10

Changes since last survey

  • 300 commits — 209 feature/other, 91 fixes

By area

  • lib/new-ui — 73 commits
  • (repo) — 49 commits
  • res/values — 22 commits
  • lib/view_model — 20 commits
  • cw_bitcoin/lib — 18 commits
  • cw_core/lib — 16 commits
  • (root) — 10 commits
  • lib/src — 10 commits
  • cw_zcash/lib — 9 commits
  • lib/entities — 8 commits
  • cw_evm/lib — 5 commits
  • lib/core — 5 commits
  • lib/exchange — 5 commits
  • assets/new-ui — 4 commits
  • cw_monero/lib — 4 commits
  • scripts/android — 4 commits
  • cw_custom_lints/lib — 3 commits
  • lib/buy — 3 commits
  • lib/cake_pay — 3 commits
  • lib/reactions — 3 commits

Notable commits

  • fix: CW-1291-ledger-fixes (#3390)
  • fix: CW-1581-trezor-fixes-enhancements (#3462)
  • fix: Fix domain lookup toggles for Yat and Zcash.me providers (#3439)
  • fix: Fix mismatched support links for SwapTrade and Telegram (#3441)
  • fix: Fix paste button in swap page (#3437)
  • fix: Fix stale seed location path in seed_display_path (#3440)
  • fix: Merge pull request #3427 from cake-tech/fix-cant-exit-hardwar-reconnect-screen
  • fix: Merge pull request #3551 from cake-tech/fix-rive-common-dep
  • fix: Merge pull request #3597 from cake-tech/CW-1621-Brazillian-Locale-Fix
  • fix: Revert "fix: unify encryption across platforms (#3470)" (#3634)
  • fix: add lint and quick-fixes for Money.amount.toString()
  • fix: dart fix
  • fix: fix
  • fix: fix android CI
  • fix: fix btc address lookup (#3422)
  • fix: fix changelog item padding (#3636)
  • fix: fix context passed to navigator
  • fix: fix date format in tx details
  • fix: fix decimals exception
  • fix: fix empty payment methods
  • …and 280 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

cake-tech/cake_wallet was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 19 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 3d03a62e21965498a7cd6593e22c1d02734bc07d — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-13a154b7f5d1.