* Fix conflicts with main * fix for multiple wallets * Add tron to windows application configuration. * Add macOS option for description message in configure_cake_wallet.sh * Include missed monero dll for windows. * fix conflicts with main * Disable haven configuration for iOS as default. Add ability to configure cakewallet for iOS with for configuration script. Remove cw_shared configuration for cw_monero. * fix: scan fixes, add date, allow sending while scanning * add missing nano secrets file [skip ci] * ios library * don't pull prebuilds android * Add auto generation of manifest file for android project even for iOS, macOS, Windows. * feat: sync fixes, sp settings * feat: fix resyncing * store crash fix * make init async so it won't lag disable print starts * fix monero_c build issues * libstdc++ * Fix MacOS saving wallet file issue Fix Secure Storage issue (somehow) * update pubspec.lock * fix build script * Use dylib as iOS framework. Use custom path for loading of iOS framework for monero.dart. Add script for generate iOS framework for monero wallet. * fix: date from height logic, status disconnected & chain tip get * fix: params * feat: electrum migration if using cake electrum * fix nodes update versions * re-enable tron * update sp_scanner to work on iOS [skip ci] * bump monero_c hash * bump monero_c commit * bump moneroc version * bump monero_c commit * Add ability to build monero wallet lib as universal lib. Update macOS build guide. Change default arch for macOS project to . * fix: wrong socket for old electrum nodes * Fix unchecked wallet type call * get App Dir correctly in default_settings_migration.dart * handle previous issue with fetching linux documents directory [skip ci] * backup fix * fix NTFS issues * Close the wallet when the wallet gets changed * fix: double balance * feat: node domain * fix: menu name * bump monero_c commit * fix: update tip on set scanning * fix: connection switching back and forth * feat: check if node is electrs, and supports sp * chore: fix build * minor enhancements * fixes and enhancements * solve conflicts with main * Only stop wallet on rename and delete * fix: status toggle * minor enhancement * Monero.com fixes * bump monero_c commit * update sp_scanner to include windows and linux * Update macOS build guide. Change brew dependencies for build unbound locally. * fix conflicts and update macos build guide * remove build cache when on gh actions * update secure storage * free up even more storage * free up more storage * Add initial wownero * fix conflicts * fix workflow issue * build wownero * ios and windows changes * macos * complete wownero flow (app side) * add keychain group entitlement and update script for RunnerBase on macos * update secure_storage version to 8.1.0 in configure.dart * add wownero framework * update ios builds * proper path for wownero and monero * finalizing wownero * finalizing wownero * free up even more storage * revert commenting of build gradle configs * revert commenting of secrets [skip ci] * free more storage * minor fixes * link android wownero libraries * bump monero_c commit * wownero fixes * rename target * build_single.sh using clean env * bump monero_c commit * minor fix * Add wownero polyseed * fix conflicts with main * fix: wallet seed display fix: wownero not refreshing * fix: wallet seed display fix: wownero not refreshing * bump monero_c commit * minor fixes * fix: incorrectly displaying XMR instead of WOW * fix: incorrect restore height in wownero * bump monero_c commit * Add Inno Setup Script for windows exe installer * drop libc++_shared.so * fixes from comments * Fix CMake for windows * Merge latest monero dart changes [skip ci] * bump monero_c commit * add wownero to build scripts for macos [skip ci] * add 14 word seed support to wownero * UI fixes for wownero seed restore * minor fixes * reformat code to pass lints * Add debug ledger code * Add Litecoin Hardware Wallet Creation * Add Litecoin Hardware Wallet Creation * Fix Bitcoin not sending on Ledger * Fixes to sending LTC using Ledger * CW-679 Fix merge conflicts * CW-679 Fix merge conflicts * CW-679 Minor fixes * CW-679 Add derivation Path of change address * Add create Monero Wallet from Ledger * bug fix to create Monero Wallet from Ledger * ledger flutter plus refactoring * ledger flutter plus refactoring * ledger flutter plus refactoring * Ups :| * Ups :| I forgot USB * Handle BT Off * Fix Issue with A14 and USB * Small Ledger Quality of life improvements * Small Ledger Quality of life improvements * Small Ledger Quality of life improvements * Small Ledger Quality of life improvements * Small Ledger Quality of life improvements * Small Ledger Quality of life improvements * Small Ledger Quality of life improvements * Pls work * Pls work * Pls work * Pls work * Fix overpopulation * Fix ble device detection and support for Stax and Flex * clean up pubspec * clean up * MWeb merge fix * MWeb merge fix * Migrate to Ledger Flutter Plus * Add connect device page before loading the wallet (Only monero) * Add connect device page before loading the wallet (Only monero) * Fix merge error * Fix merge error * Fix merge error && Allow for wallet switching * Please compile now * Move monero/ledger.dart from monero_c to cw_monero * Upgrade ledger_flutter_plus * Add more popups if action on the device is needed. * Update monero_c dependency hash * Yay ledger monero is even more efficient and avoids memory leaks 🥳 * [skip-ci] more code * Fix Minor Bug * Fix Minor Bug * Apply requested changes * [skip ci] Apply requested changes * Minor Cleanup * Welp I'm dumb :/ * Implement requested changes * Increase ledger refresh speed * Add Monero Ledger keep connection alive * Add Monero Ledger keep connection alive --------- Co-authored-by: OmarHatem <omarh.ismail1@gmail.com> Co-authored-by: Czarek Nakamoto <cyjan@mrcyjanek.net> Co-authored-by: m <m@cakewallet.com> Co-authored-by: Rafael Saes <git@rafael.saes.dev> Co-authored-by: Matthew Fosse <matt@fosse.co>
Cake Wallet
Cake Wallet is an open-source, non-custodial, and private multi-currency crypto wallet for Android, iOS, macOS, and Linux.
Cake Wallet includes support for several cryptocurrencies, including:
- Monero (XMR)
- Bitcoin (BTC)
- Ethereum (ETH)
- Litecoin (LTC)
- Bitcoin Cash (BCH)
- Polygon (Pol)
- Solana (SOL)
- Nano (XNO)
- Haven (XHV)
Features
App-Wide Features
- Completely noncustodial. Your keys, your coins.
- Built-in exchange for dozens of pairs
- Easily pay cryptocurrency invoices with fixed rate exchanges
- Buy cryptocurrency (BTC/LTC/XMR/ETH) with credit/debit/bank
- Sell cryptocurrency by bank transfer
- Scan QR codes for easy cryptocurrency transfers
- Create several wallets
- Select your own custom nodes/servers
- Address book
- Backup to an external location or iCloud
- Send to OpenAlias, Unstoppable Domains, Yats, and FIO Crypto Handles
- Set desired network fee level
- Store local transaction notes
- Extremely simple user experience
- Convenient exchange and sending templates for recurring payments
- Create donation links and invoices in the receive screen
- Robust privacy settings (eg: Tor-only connections)
- Robust security settings (eg: Cake 2FA)
Monero Specific Features
- The Monero view key is retained on the device for maximum privacy
- Full support for Monero subaddresses and accounts
- Specify restore height for faster syncing
- Specify multiple recipients for batch sending
- Optionally set Monero nodes as trusted for faster syncing
- Specify a proxy for Monero nodes, compatible with Tor and i2p
Bitcoin Specific Features
- Bitcoin coin control (specify specific outputs to spend)
- Automatically generate new addresses
- Specify multiple recipients for batch sending
Ethereum Specific Features
- Store ETH and all ERc-20 tokens
- Add custom tokens by contract address
- Enable or disable Etherscan for transaction history
Litecoin Specific Features
- Litecoin coin control (specify specific outputs to spend)
- Automatically generate new addresses
- Specify multiple recipients for batch sending
Haven Specific Features
- Send, receive, and store XHV and all xAssets like xUSD, xEUR, xAG, etc.
Monero.com by Cake Wallet for Android and iOS
Open Source Monero-Only Wallet
Exchanging to/from other assets is also supported.
Links
- Website: https://monero.com
- App Store (iOS): https://apps.apple.com/app/id1601990386
- Google Play: https://play.google.com/store/apps/details?id=com.monero.app
- F-Droid: https://fdroid.cakelabs.com
- APK: https://github.com/cake-tech/cake_wallet/releases
Support
We have 24/7 free support. Please contact support@cakewallet.com
We have excellent user guides, which are also open-source and open for contributions: https://guides.cakewallet.com
Build Instructions
More instructions to follow
For instructions on how to build for Android: please view file howto-build-android.md
Contributing
Improving translations
Edit the applicable strings_XX.arb file in res/values/ and open a pull request with the changes.
Current list of language files:
- English
- Spanish
- French
- German
- Italian
- Portuguese
- Dutch
- Polish
- Croatian
- Russian
- Ukrainian
- Hindi
- Japanese
- Chinese
- Korean
- Thai
- Arabic
- Turkish
- Burmese
- Urdu
- Bulgarian
- Czech
- Indonesian
- Hausa
- Yoruba
Add a new language
-
Create a new
strings_XX.arbfile inres/values/, replacing XX with the language's ISO 639-1 code. -
Edit the strings in this file, replacing XXX below with the translation for each string.
"welcome": "Welcome to", -> "welcome": "XXX",
- For strings where there is a variable, denoted by a $ symbol and braces, such as ${status}, the string in braces should not be translated. For example, when editing line 106:
"time" : "${minutes}m ${seconds}s"
The only parts to be translated, if needed, are the values m and s after the variables.
-
Add the language to
lib/entities/language_service.dartunder bothsupportedLocalesandlocaleCountryCode. Use the name of the language in the local language and in English in parentheses after forsupportedLocales. Use the ISO 3166-1 alpha-3 code forlocaleCountryCode. You must choose one country, so choose the country with the most native speakers of this language or is otherwise best associated with this language. -
Add a relevant flag to
assets/images/flags/XXXX.png, replacing XXXX with the 3 letters localeCountryCode. The image must be 42x26 pixels with 3 pixels of transparent margin on all 4 sides. You can resize the flag with paint.net to 36x20 pixels, expand the canvas to 42x26 pixels with the flag anchored in the middle, and then manually delete the 3 pixels on each side to make it transparent. Or you can use another program like Photoshop. -
Add the new language code to
tool/utils/translation/translation_constants.dart
Add a new fiat currency
-
Check with Cake Wallet support to see if the desired new fiat currency is available through our fiat API. Not all fiat currencies are.
-
If the currency is associated strongly with a specific issuing country, map the ISO 4217 currency code with the applicable ISO 3166-1 alpha-3 code in
lib/entities/fiat_currency.dart. If the currency is used in a whole region or organization, then map with a reasonable interpretation of this (eg: eur countryCode for EUR symbol). -
Add the raw mapping underneath in
lib/entities/fiat_currency.dartfollowing the same format as the others. -
Add a flag of the issuing country or organization to
assets/images/flags/XXXX.png, replacing XXXX with the ISO 3166-1 alpha-3 code used above (eg:usa.png,eur.png). Do not add this if the flag with the same name already exists. The image must be 42x26 pixels with a 3 pixels of transparent margin on all 4 sides.
Copyright (C) 2018-2023 Cake Labs LLC

