Go to file
Milan 000697ba63
2.0.0 App redesign (#1842)
* Home redesign

* Home redesign

* Test hotfixes

* Test hotfixes

* Code cleanup

* Restore redesign

* Year-month date picker implementation

* Restore estimation design added

* Homepage performance updates

* Seed suggestions design implementation

* Seed suggestions optimization

* Seed suggestions optimization

* Code cleanup

* [#1812] Create wallet update

Closes #1812

* Test hotfixes

* Recovery seed screen redesigned

* App hotfixes

* Keyboard handling hotfix

* Automatic keyboard and bottom sheet handling during navigation

* Wallet backup screen implemented

* WIP home messages

* Wallet backup message

* Bottom sheet code cleanup

* Strings code cleanup

* Home messages and dialogs UI

* Home messages business logic, wallet info removed from status bar and general refactoring

* Message persistence

* Message visibility based on foreground/background

* Error handling

* Balances UI implementation

* Design updates

* Strings update

* Crash report message implemented

* Balance actions bussiness logic

* Balance actions bugfixes

* Balance actions bugfixes

* Restoration connected to sdk

* Design hotfixes

* Design hotfixes

* Sdk changes regarding sync progress adopted

* Shielded transaction immediately hidden after shield clicked

* Code cleanup

* Messages update

* Home message bugfixes

* Strings update

* Transaction detail hotfix for pending transaction

* Messages and balances hotfixes

* Balances hotfix

* Hotfix for foss

* Third party scan state

* Clearing shared prefs fixed

* Store crash reporting bugfix

* Store bugfix

* Spanish translations

* Shielding info update

* Shielding info update

* Bugfixes

* Bugfixes

* Sdk version bump

* Backup message shows only with zashi account

* Ktlint format

* Ktlint format

* Code cleanup

* Code cleanup

* Strings update

* Release 2.0.0 (934)

Closes ##1859

* Changelog update

Closes ##1859
2025-04-25 20:08:09 +02:00
.github Bump actions/download-artifact from 4.2.1 to 4.3.0 (#1858) 2025-04-25 14:55:58 +02:00
.idea .gitignore update (#1504) 2024-07-16 09:07:18 +02:00
app 2.0.0 App redesign (#1842) 2025-04-25 20:08:09 +02:00
build-conventions-secant Build FOSS APK in `pull-request.yml` (#1829) 2025-03-26 18:42:18 +01:00
build-info-lib Update dependency locks 2025-03-13 09:39:58 +01:00
buildSrc Other dependencies update 2025-03-13 09:39:58 +01:00
configuration-api-lib 2.0.0 App redesign (#1842) 2025-04-25 20:08:09 +02:00
configuration-impl-android-lib Ktlint 1.5.0 2025-03-13 09:39:58 +01:00
crash-android-lib [#1854] Crash Reporting Opt In/Out 2025-04-22 10:58:12 +02:00
crash-lib Other dependencies update 2025-03-13 09:39:58 +01:00
docs 2.0.0 App redesign (#1842) 2025-04-25 20:08:09 +02:00
fastlane/metadata/android 2.0.0 App redesign (#1842) 2025-04-25 20:08:09 +02:00
gradle/wrapper [#1813] Gradle 8.13 2025-03-13 09:39:58 +01:00
preference-api-lib 2.0.0 App redesign (#1842) 2025-04-25 20:08:09 +02:00
preference-impl-android-lib 2.0.0 App redesign (#1842) 2025-04-25 20:08:09 +02:00
sdk-ext-lib 2.0.0 App redesign (#1842) 2025-04-25 20:08:09 +02:00
spackle-android-lib Ktlint 1.5.0 2025-03-13 09:39:58 +01:00
spackle-lib Ktlint 1.5.0 2025-03-13 09:39:58 +01:00
test-lib Ktlint 1.5.0 2025-03-13 09:39:58 +01:00
tools Ktlint 1.5.0 2025-03-13 09:39:58 +01:00
ui-benchmark-test F-Droid and GitHub Release support (#1787) 2025-02-20 20:42:02 +01:00
ui-design-lib 2.0.0 App redesign (#1842) 2025-04-25 20:08:09 +02:00
ui-integration-test 2.0.0 App redesign (#1842) 2025-04-25 20:08:09 +02:00
ui-lib 2.0.0 App redesign (#1842) 2025-04-25 20:08:09 +02:00
ui-screenshot-test 2.0.0 App redesign (#1842) 2025-04-25 20:08:09 +02:00
.gitignore Build FOSS APK in `pull-request.yml` (#1829) 2025-03-26 18:42:18 +01:00
CHANGELOG.md 2.0.0 App redesign (#1842) 2025-04-25 20:08:09 +02:00
LICENSE F-Droid and GitHub Release support (#1787) 2025-02-20 20:42:02 +01:00
README.md Regenerate dependency locks 2025-03-13 09:39:58 +01:00
build.gradle.kts F-Droid and GitHub Release support (#1787) 2025-02-20 20:42:02 +01:00
buildscript-gradle.lockfile Build FOSS APK in `pull-request.yml` (#1829) 2025-03-26 18:42:18 +01:00
gradle.properties 2.0.0 App redesign (#1842) 2025-04-25 20:08:09 +02:00
gradlew [#1813] Gradle 8.13 2025-03-13 09:39:58 +01:00
gradlew.bat [#1813] Gradle 8.13 2025-03-13 09:39:58 +01:00
settings.gradle.kts Kotlin 2.1.10 2025-03-13 09:39:58 +01:00

README.md

Zashi Android Wallet

This is the official home of the Zashi Zcash wallet for Android, a no-frills Zcash mobile wallet leveraging the Zcash Android SDK.

Download

Get it on F-Droid Get it on Google Play

Or download the latest APK from the Releases Section.

Zashi Discord

Join the Zashi community on ECC Discord server, report bugs, share ideas, request new features, and help shape Zashi's journey!

https://discord.gg/jQPU7aXe7A

Reporting an issue

If you'd like to report a technical issue or feature request for the Android Wallet, please file a GitHub issue here.

For feature requests and issues related to the Zashi user interface that are not Android-specific, please file a GitHub issue here.

If you wish to report a security issue, please follow our Responsible Disclosure guidelines. See the Wallet App Threat Model for more information about the security and privacy limitations of the wallet.

General Zcash questions and/or support requests and are best directed to either:

Contributing

Contributions are very much welcomed! Please read our Contributing Guidelines to learn about our process.

Getting Started

If you'd like to compile this application from source, please see our Setup Documentation to get started.

Forking

If you plan to fork the project to create a new app of your own, please make the following changes. (If you're making a GitHub fork to contribute back to the project, these steps are not necessary.)

  1. Change the app name under gradle.properties
    1. See ZCASH_RELEASE_APP_NAME
  2. Change the package name under app/build.gradle.kts
    1. See ZCASH_RELEASE_PACKAGE_NAME
  3. Change the support email address under strings.xml
    1. See support_email_address
  4. Remove any copyrighted ZCash or Electric Coin Company icons, logos, or assets
    1. ui-lib/src/main/res/common/ - All of the the ic_launcher assets
  5. Optional
    1. Configure secrets and variables for Continuous Integration
    2. Configure Firebase API keys and place them under app/src/debug/google-services.json and app/src/release/google-services.json

Known Issues

  1. During builds, a warning will be printed that says "Unable to detect AGP versions for included builds. All projects in the build should use the same AGP version." This can be safely ignored. The version under build-conventions is the same as the version used elsewhere in the application.
  2. When the code coverage Gradle property IS_ANDROID_INSTRUMENTATION_TEST_COVERAGE_ENABLED is enabled, the debug app APK cannot be run. The coverage flag should therefore only be set when running automated tests.
  3. Test coverage for Compose code will be low, due to known limitations in the interaction between Compose and Jacoco.
  4. Adding the espresso-contrib dependency will cause builds to fail, due to conflicting classes. This is a known issue with the Zcash Android SDK.
  5. During app first launch, the following exception starting with AndroidKeysetManager: keyset not found, will generate a new one is printed twice. This exception is not an error, and the code is not being invoked twice.