2c37e427e9
* 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>
|
||
---|---|---|
.github | ||
android | ||
assets | ||
cw_bitcoin | ||
cw_bitcoin_cash | ||
cw_core | ||
cw_ethereum | ||
cw_evm | ||
cw_haven | ||
cw_monero | ||
cw_mweb | ||
cw_nano | ||
cw_polygon | ||
cw_shared_external | ||
cw_solana | ||
cw_tron | ||
cw_wownero | ||
integration_test | ||
ios | ||
lib | ||
linux | ||
macos | ||
res/values | ||
scripts | ||
test | ||
test_driver | ||
tool | ||
windows | ||
.gitignore | ||
.gitmodules | ||
.metadata | ||
analysis_options.yaml | ||
build-guide-linux.md | ||
build-guide-win.md | ||
cakewallet.bat | ||
com.cakewallet.CakeWallet.yml | ||
configure_cake_wallet.sh | ||
devtools_options.yaml | ||
env.json | ||
how_to_add_new_wallet_type.md | ||
howto-build-android.md | ||
howto-build-ios.md | ||
howto-build-macos.md | ||
howto-build-windows.md | ||
LICENSE.md | ||
model_generator.sh | ||
PRIVACY.md | ||
pubspec_base.yaml | ||
pubspec_description.yaml | ||
README.md | ||
run-android.sh | ||
SECURITY.md |
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.arb
file 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.dart
under bothsupportedLocales
andlocaleCountryCode
. 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.dart
following 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