Commit Graph

920 Commits

Author SHA1 Message Date
Carter Jernigan 5fb5773a7d [#756] Improve funding testnet demo 2022-11-04 10:01:09 -04:00
Carter Jernigan f976b79a46
[#758] Add default alias for erase method 2022-11-03 12:40:44 -04:00
Carter Jernigan 61f1c1a9cb
[#753] Add API for querying recipients 2022-10-31 15:27:34 -04:00
Carter Jernigan 9af6986e43
[#748] Internal recipients for pending transactions 2022-10-26 21:37:40 -04:00
Carter Jernigan f169b112ef [#743] Add API for reading memos 2022-10-24 11:54:57 -04:00
Carter Jernigan 4c2807aefd
[#705] Roomoval
The Android and Rust code have previously managed joint custody of the derived data database.  With more complex migrations now required, we need to make the Android side read-only.  To achieve that, the Android side will remove Room and instead rely on more primitive SQLite APIs for read-only access.

As part of implementing this change, database management throughout the SDK is being refactored.

There will be multiple representations of the data:
 - Database representation (and some Entity representations in the places that Room hasn’t been removed yet).  These representations are not as type safe and don’t match Kotlin best practices in all cases.
 - Once #615 is implemented there will also be network representations
 - Type safe models, which often appear in the public API  The Database and Network representations will be converted to and from the type safe model representation.
2022-10-19 16:52:54 -04:00
Carter Jernigan e4ab84e016
Merge changes from main 2022-10-18 07:54:52 -04:00
Carter Jernigan f2effc8dd2 Merge branch 'main' of github.com:zcash/zcash-android-wallet-sdk into merge-main
# Conflicts:
#	CHANGELOG.md
#	sdk-lib/src/androidTest/java/cash/z/ecc/android/sdk/ext/TestExtensions.kt
#	sdk-lib/src/androidTest/java/cash/z/ecc/android/sdk/integration/SanityTest.kt
#	sdk-lib/src/androidTest/java/cash/z/ecc/android/sdk/integration/SmokeTest.kt
#	sdk-lib/src/androidTest/java/cash/z/ecc/android/sdk/util/AddressGeneratorUtil.kt
#	sdk-lib/src/androidTest/java/cash/z/ecc/android/sdk/util/BalancePrinterUtil.kt
#	sdk-lib/src/main/java/cash/z/ecc/android/sdk/Initializer.kt
#	sdk-lib/src/main/java/cash/z/ecc/android/sdk/SdkSynchronizer.kt
#	sdk-lib/src/main/java/cash/z/ecc/android/sdk/Synchronizer.kt
#	sdk-lib/src/main/java/cash/z/ecc/android/sdk/internal/transaction/WalletTransactionEncoder.kt
#	sdk-lib/src/main/java/cash/z/ecc/android/sdk/jni/RustBackendWelding.kt
2022-10-18 07:28:12 -04:00
dependabot[bot] 2637bca5a3 Bump google-github-actions/auth from 0.8.2 to 0.8.3
Bumps [google-github-actions/auth](https://github.com/google-github-actions/auth) from 0.8.2 to 0.8.3.
- [Release notes](https://github.com/google-github-actions/auth/releases)
- [Changelog](https://github.com/google-github-actions/auth/blob/main/CHANGELOG.md)
- [Commits](2671692c37...c4799db911)

---
updated-dependencies:
- dependency-name: google-github-actions/auth
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 08:25:38 -04:00
str4d b7bb468907
Merge pull request #734 from zcash/more-rust-updates
More Rust updates
2022-10-15 00:57:01 +01:00
dependabot[bot] 4beac3ae0a Bump google-github-actions/auth from 0.8.1 to 0.8.2
Bumps [google-github-actions/auth](https://github.com/google-github-actions/auth) from 0.8.1 to 0.8.2.
- [Release notes](https://github.com/google-github-actions/auth/releases)
- [Changelog](https://github.com/google-github-actions/auth/blob/main/CHANGELOG.md)
- [Commits](dac4e13deb...2671692c37)

---
updated-dependencies:
- dependency-name: google-github-actions/auth
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-14 17:27:02 -04:00
dependabot[bot] a6c4e3a107 Bump actions/cache from 3.0.10 to 3.0.11 in /.github/actions/setup
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.10 to 3.0.11.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](56461b9eb0...9b0c1fce7a)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-14 17:26:28 -04:00
Jack Grigg 4a37f3976f rust: Migrate to latest upstream Zcash crates 2022-10-15 10:08:04 +13:00
Jack Grigg 4d7d0bf64b rust: `jni 0.19` 2022-10-14 20:37:56 +13:00
Jack Grigg 9bf667926f rust: `android_logger 0.11` 2022-10-14 20:37:56 +13:00
Jack Grigg a4bece9f8c rust: cargo update 2022-10-14 18:35:26 +13:00
Alex c8c41e6dcd
added python installation instruction to Setup.md (#715)
* added python installation instruction to Setup.md

* code review fixes

* code review fixes

* Fix markdown syntax

* Reset numbering

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-10-07 10:18:35 +02:00
Carter Jernigan e95e43b83b Add simple tests for Account and UnifiedSpendingKey
test
2022-10-06 14:49:04 -04:00
Carter Jernigan 4c2fdeeb73 Add Account type 2022-10-06 14:49:04 -04:00
Jack Grigg 88bbd0afcb Use the binary USK format for transaction creation
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-10-06 14:49:04 -04:00
Carter Jernigan 3b826f8f6a Simplify Synchronizer instantiation
fix

synchronizer
2022-10-06 14:49:04 -04:00
Carter Jernigan 597cc43886 Replace `Synchronizer.getAddress()` with `Synchronizer.getCurrentAddress()`
The SDK now exposes UAs primarily, with additional methods for obtaining
corresponding Sapling and transparent addresses for legacy compatibility.

The `Account` DAO is also fixed to use the migrated `accounts` table format.

The demo app now shows the current UA and the legacy Sapling and transparent
addresses.

Closes zcash/zcash-android-wallet-sdk#677.
2022-10-06 14:49:04 -04:00
Jack Grigg f69cacb9e6 Add `SdkSynchronizer.createAccount()` method
It is currently hidden from the public API, implemented for testing
purposes.
2022-10-06 14:49:04 -04:00
Jack Grigg c6fd783317 Add a `seed` argument to `Synchronizer.Companion.new`
This enables callers to recover from an error that indicates the seed
is needed for a database migration.
2022-10-06 14:49:04 -04:00
Jack Grigg b19ee179c5 Migrate to latest revision of `zcash_primitives` 2022-10-06 14:49:04 -04:00
Jack Grigg 63881dc4e1 cargo fmt 2022-10-06 14:49:04 -04:00
dependabot[bot] b7cb7a881e Bump actions/cache from 3.0.9 to 3.0.10 in /.github/actions/setup
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.9 to 3.0.10.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](ac8075791e...56461b9eb0)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-05 12:59:22 -04:00
dependabot[bot] dd88f8771c Bump actions/checkout from 3.0.2 to 3.1.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.0.2 to 3.1.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](2541b1294d...93ea575cb5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-05 12:59:12 -04:00
Honza Rychnovsky 9614a63f89
[#706] Fix crashes identified by robo tests
* [#706] Fix crashes identified by robo tests

- Removed unused xml layouts
- Fixed several xml attributes to be backward compatible

* Reduce number of unnecessary logs in console

* Bump min Android SDK version from 19 to 21

* Bump demo-app minSdk to version 21 too

* Update changelog

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-10-04 16:27:09 +02:00
dependabot[bot] 8ddadf524f Bump actions/cache from 3.0.8 to 3.0.9 in /.github/actions/setup
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.8 to 3.0.9.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](fd5de65bc8...ac8075791e)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 07:30:48 -04:00
dependabot[bot] afc5bf7219 Bump actions/setup-java from 3.5.0 to 3.5.1 in /.github/actions/setup
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3.5.0 to 3.5.1.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](d854b6da19...a18c333f3f)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-29 08:27:55 -04:00
Honza Rychnovsky e62ca0de70
[#665] Recover from corrupted sapling-spend.params and sapling-output.params files
* [#665] Recover from corrupted sapling-spend.params and sapling-output.params

* Make parameters on exception internal

* Make SaplingParameters internal

* Fix for changed parameters visibility in tests

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-09-27 07:03:36 +02:00
Carter Jernigan 2d2e838fed Bump version to 1.9.0-beta04 2022-09-26 08:11:42 -04:00
Carter Jernigan 0873ae73e1 [#711] Android Gradle Plugin 7.3 2022-09-22 16:06:00 -04:00
Honza Rychnovsky ee23eaebae
[#716] Update checkpoints
- Updated Mainnet and Testnet checkpoints
- Updated related documentation too
2022-09-22 14:39:05 +02:00
Alex 2ed60a37c8
[#695] ktlint 0.47.1
* 695 ktlint version update (4.7.1)
2022-09-20 14:25:56 +02:00
str4d 0392326b9a
Merge pull request #694 from zcash/update-test-vectors-for-ufvks
Update test vectors to use UFVKs and UAs as appropriate
2022-09-19 17:55:15 +01:00
dependabot[bot] 5f721877f8
Bump actions/setup-java from 3.4.1 to 3.5.0 in /.github/actions/setup (#710)
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3.4.1 to 3.5.0.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](2c7a4878f5...d854b6da19)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-12 08:36:10 -04:00
Jack Grigg 9efa74fd4c Update test vectors to use UFVKs and UAs as appropriate
UFVKs and UAs contain Sapling and transparent receivers, corresponding
to how keys are currently derived from mnemonic phrases in the wallet.
2022-09-08 13:26:22 +00:00
Kris Nuttycombe 22cf8220b7
Merge pull request #621 from zcash/improve_setup_instructions
Clarify instructions for Android NDK installation.
2022-09-06 17:12:55 -06:00
Honza Rychnovsky 35e38ddb19
[#666] Download sapling files atomically (#707)
- Enhanced implementation of SaplingParamTool component. It got sapling files move from legacy folder to the preferred one functionality. It downloads the sapling files atomically now (through the temporary file names). It contains all related constants now. It works with SaplingParamToolProperties, which allows us to easily test the SaplingParamTool functionalities. It also now checks file hashes. Removed unnecessary clear function from the component. Changed valid function.
- Moved related constants from ZcashSdk class to SaplingParamTool class
- Changed Initializer, WalletTransactionEncoder and RustBackend classes to work with File instead of path String
- Minor changes in comments in other classes
- Added getSha1Hash() extension function to the FileExt class

* Related tests

- Two new test fixtures to simplify our tests
- Test for getSha1Hash() extension function
- Minor changes in existing tests
- Created new SaplingParamToolBasicTest, which covers non-integration functionality of SaplingParamTool
- Moved integration tests of the SaplingParamTool to the new SaplingParamToolIntegrationTest and added some new

* Related manual tests

- Created Download sapling files manual test
- Created Move sapling files to no_backup manual test
- Update existing Move database files to no_bakcup manual test


Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-09-06 06:44:33 -04:00
dependabot[bot] b7df183634
Bump google-github-actions/auth from 0.8.0 to 0.8.1 (#709)
Bumps [google-github-actions/auth](https://github.com/google-github-actions/auth) from 0.8.0 to 0.8.1.
- [Release notes](https://github.com/google-github-actions/auth/releases)
- [Changelog](https://github.com/google-github-actions/auth/blob/main/CHANGELOG.md)
- [Commits](ceee102ec2...dac4e13deb)

---
updated-dependencies:
- dependency-name: google-github-actions/auth
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-01 06:36:54 -04:00
dependabot[bot] cf5b762fd1
Bump actions/cache from 3.0.7 to 3.0.8 in /.github/actions/setup (#690)
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.7 to 3.0.8.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](a7c34adf76...fd5de65bc8)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-01 06:36:25 -04:00
Carter Jernigan 251bb4dbfc
[#697] Fix running robo test (#698) 2022-08-31 11:17:47 -04:00
Bruno Wieczorek ec6b714f92
[#288] Replace Deprecated Usage of `ConflatedBroadcastChannel`
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-08-27 08:25:54 -04:00
Honza Rychnovsky 12c23dd054
[#664] Check sapling files size
* [#664] Transfer maximum bytes from remote file
* Tests for limiting sapling files max size
* Address comments from review
* Optimization of sapling files download
* Add units to data class
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-08-26 15:31:56 +02:00
Honza Rychnovsky 1fae5beab6
[#509] Remove OkHttp and Okio dependencies
* [#509] Remove OkHttp and Okio dependencies
- Okio -> Java NIO anf OkHttp -> HttpURLConnection in SaplingParamTool class
- Both replaced also in the test packages
- Removed dependencies to the replaced components
- Again switched a few assertions from JUnit to kotlin.test
- Created readLinesInFlow() function which is now reused in few places and runs without OkHttp
- Added subsequent TODOs to code base
- Wrapped to withContext to move it to an IO thread.
- Added use function on the stream and close() at the end of the channels use.
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-08-25 14:36:57 +02:00
str4d e62db0d2d8
Merge pull request #693 from zcash/merge-detekt-warning-fixes
Merge Detekt warning fixes from `main`
2022-08-24 14:18:25 +01:00
Honza Rychnovsky d15f58142a
[#691] Increase Deploy action Upload artifacts timeout 2022-08-24 08:30:18 +02:00
Jack Grigg 0b80bff23d Merge branch 'main' into merge-detekt-warning-fixes 2022-08-23 21:28:01 +01:00