Commit Graph

1214 Commits

Author SHA1 Message Date
Carter Jernigan 8e37a3c8c2 [#913] Change maven group for network module 2023-02-07 13:58:57 -05:00
Carter Jernigan 3a4ea7eefd [#907] Remove Guava dependency 2023-02-06 09:51:47 -05:00
Carter Jernigan 28be779fc3 [#906] Enable non-transitive R classes 2023-02-06 09:51:31 -05:00
Carter Jernigan c0a2c11418
[#615] Refactor lightwalletd client
* [#615] Refactor lightwalletd client

This moves the lightwalletd client code to a separate Gradle module, but does not yet do much clean up the public API (e.g. hiding generated GRPC objects).  That will be a followon change via #673

I’ve prototyped a safer version of the API that would be implemented for #673 for two specific calls: obtaining the current block height and obtaining the light wallet info.  These were the easiest endpoints to update and they provide a useful exploration for the future changes needed.

* Fix benchmarking for networking module

- Moved to fixture and build type check components to the new networking module, so it's accessible from all needed parts of the projects
- Changed fixture return type to fit to all needed usages

* Align with previous review comment

* Fix wrong merge

* Add basic sanity test

- To satisfy tests requirements on emulators.wtf service

* Remove grpc dependency from sdk-lib module

* Repackage cash.z.wallet.sdk.rpc to cash.z.wallet.sdk.internal.rpc

* Fix BuildConfig path

* Update demo-app paths to rpc

* Fix broken grpc services locations

- Our aim here is to change only the local services location (package name), the server location can't be changed due to backward compatibility.

* Enhance GRPC Response model

* Adopt enhanced GRPC response model

- Adopted in a few endpoints

* Enhance Connection failure type

* Add simple fixture test

* Refactor fetchTransaction() to work with Response

- Refactored this server call to adopt our new Response mechanism
- GrpsStatusResolver.resolveFailureFromStatus() now accepts Throwable input
- Added Response.Failure.toThrowable() to satisfy subsequent server calls results processing
- A few other minor refactoring changes

* Remove commented out log

* Unify return type of collection returning methods

- Switched fetchUtxos() to return Sequence instead of List
- Added a check on empty tAddress input

* fetchUtxos returns flow

- Switched fetchUtxos() to return Flow of Service.GetAddressUtxosReply
- Internally it calls getAddressUtxosStream() instead of getAddressUtxos() from GRPC layer

* Update unsafe suffix documentation

* Address several minor change requests

* Remove code parameter

- Removed from the locally triggered failures with default codes.

* Rename local variable

* Switch from empty response to exception

- Our server calls now rather throw IllegalArgumentException than return an empty response
- Removed commented out log message
- Updated javadocs

* Update proto files

- Plus related api changes adoption

* Unify new clients instances name

* AGP 7.4.0 changes

-  packagingOptions -> androidComponents in sdk-lib and lightwallet-client-lib modules

* SDK version bump

* Response resolver tests

* Release build upload timeout increase

* Release build upload timeout increase fix

* Revert timeout

- As Github has some infrastructure troubles and we need to wait

* Add migrations documentation

* Sort packaging filters

* Remove private field from public documentation

* Hide private variables

* Remove package from Android Manifest

* Throw exception instead of custom error

- This step unify our approach to validation on client side across all server calls

* Replace setAddresses index const with number

* Fix indentation in proto file

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-02-01 11:14:55 +01:00
Honza Rychnovsky c2d0c2bc58
[#900] Update checkpoints 2023-01-31 15:18:25 +01:00
Honza Rychnovsky 7d065ceaf7
[#843] Ktlint 0.48.2
- Removed semicolon in enum classes suppression
- Created and linked issue for test wallets values
2023-01-31 15:17:51 +01:00
dependabot[bot] b1810f2982
Bump actions/cache from 3.2.3 to 3.2.4 in /.github/actions/setup (#899)
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.3 to 3.2.4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](58c146cc91...627f0f41f6)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-31 08:52:27 +01:00
Carter Jernigan f0a00f6771
[#882] Check properties on CI
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-01-25 15:10:05 -05:00
Carter Jernigan 17018422fa [#874] GRPC 1.52.1 2023-01-24 06:22:44 -05:00
Carter Jernigan 5fefee2380 [#892] Emulator.wtf Gradle Plugin 0.0.15 2023-01-24 06:22:27 -05:00
Carter Jernigan 5806801132 [#888] Android Gradle Plugin 7.4 2023-01-18 11:23:25 -05:00
Carter Jernigan 30979e5ebf [#851] Androidx Updates
Note that the APIs for Room, Sqlite, and Compose changed slightly with these dependency updates
2023-01-18 11:23:25 -05:00
Carter Jernigan 6e89805ee1 [#851] Kotlin 1.8 2023-01-18 11:23:25 -05:00
Honza Rychnovsky 5f666b6a97
[#779] Resolve flaky DatabaseCoordinatorTest
* [#779] Resolve flaky DatabaseCoordinatorTest

- We agreed on just removing this flaky test, in which we hardly prepare the ideal conditions for it

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2023-01-18 11:25:21 +01:00
Carter Jernigan 4ad1da49d0
[#886] Support null block heights
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-01-12 11:32:43 -05:00
Carter Jernigan 50efd683ee
[#881] Use variables for Test Lab
This will make it easier for team members to find links to test results

I also extended the upload timeout because our last deployment hit a timeout trying to upload build artifacts.
2023-01-12 10:30:35 -05:00
Carter Jernigan 285d2e8b9b
[#860] Flank 23.01.0 2023-01-10 10:40:56 -05:00
dependabot[bot] c3d8720904
Bump actions/cache from 3.2.2 to 3.2.3 in /.github/actions/setup (#878)
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.2 to 3.2.3.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](4723a57e26...58c146cc91)

---
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>
2023-01-10 08:28:25 +01:00
Carter Jernigan 01da937fdc
[#861] Remove cancel spend from public API 2023-01-09 11:55:30 -05:00
Carter Jernigan 3afe655737
[#631] Improve demo app compose UI for testing
* Add testnet faucet to Compose UI
* Show status on home view
* Add BlockHeight for fixture wallets
* Add balance screen
* Keep screen on while syncing
* Fix conversion of seed phrase to bytes
2023-01-09 10:42:38 -05:00
Honza Rychnovsky 327b47cc12
[#866] Clipboardmanager on Android level 21 in Demo-app
* [#866] Clipboardmanager on Android level 21 in Demo-app

- Notification with Toast on API 32 and less added to let users know they have it copied in the clipboard.

* Replace Toast with Snackbar

- Tested with Android API level 21, 23, 29, 31, 33
2023-01-09 14:12:04 +01:00
dependabot[bot] 1dd36b582e
Bump actions/upload-artifact from 3.1.1 to 3.1.2 (#871)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](83fd05a356...0b7f8abb15)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  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>
2023-01-09 14:10:59 +01:00
dependabot[bot] 3b9ddcd8bb
Bump actions/download-artifact from 3.0.1 to 3.0.2 (#870)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](9782bd6a98...9bc31d5ccc)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  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>
2023-01-06 08:11:42 +01:00
dependabot[bot] 04f06c0a09
Bump actions/checkout from 3.2.0 to 3.3.0 (#869)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](755da8c3cf...ac59398561)

---
updated-dependencies:
- dependency-name: actions/checkout
  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>
2023-01-06 08:10:54 +01:00
Honza Rychnovsky 60fc5f2083
[#864] Duplicate Synchronizers in Demo-app
* [#864] Duplicate Synchronizers in Demo-app

* Make val const
2023-01-05 14:48:52 +01:00
Honza Rychnovsky 66ad391865
[#862] Disable logging with ProGuard for Demo-app 2023-01-05 08:56:26 +01:00
Honza Rychnovsky 43afd93c0c
[#704] No static field PREVIEW_SDK_INT 2023-01-04 08:35:01 +01:00
str4d 1e843fb77c
[#824] rust: cargo update
Closes zcash/zcash-android-wallet-sdk#824.
2023-01-03 13:01:21 -05:00
Honza Rychnovsky c380d4a4ed
[#855] Abandoned address property 2023-01-03 13:33:37 +01:00
Honza Rychnovsky e80f3be7e3
[#854] Regular checkpoint files update 2023-01-03 13:32:01 +01:00
Carter Jernigan 5f30c2d9d6 [#850] Use new API for build step outputs 2023-01-03 05:46:32 -05:00
dependabot[bot] 2edd1e1843 Bump actions/cache from 3.2.0 to 3.2.2 in /.github/actions/setup
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.0 to 3.2.2.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](c17f4bf466...4723a57e26)

---
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-12-29 08:56:44 -05:00
Carter Jernigan a4a6b25bfb
[#631] Initial Compose scaffolding for demo app
* [#631] Initial Compose scaffolding for demo app

* Bump Compose Compiler

- To bypass Kotlin version incompatibility

* Switch ConfigureSeed from Column to Scaffold

- To unify our screens UI components
- And to have a fullscreen content, and thus avoid another background color out of column (e.g. in system dark mode)

* Split addresses to two rows

- To reduce a risk of a user overlooks other addresses scrolled out of the screen

* Additional code migrated from Secant

- Added just missing test files, fixtures and model classes
- Fix previously broken dependencies imports

* Link issue to code

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2022-12-23 11:00:37 +01:00
dependabot[bot] ee388448be
Bump actions/cache from 3.0.11 to 3.2.0 in /.github/actions/setup (#845)
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.11 to 3.2.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](9b0c1fce7a...c17f4bf466)

---
updated-dependencies:
- dependency-name: actions/cache
  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-12-22 08:24:27 +01:00
Honza Rychnovsky e784ddf353
[#841] Ktlint 0.48.0
* [#841] Ktlint 0.48.0

* Update + Suppress

- Missing-trailing-comma globally
- Broken no-semi rule locally
- Fixed few other minor formatting troubles
2022-12-20 09:25:04 +01:00
Honza Rychnovsky c3e41a68c2
[#795] Detekt 1.22.0
* [#795] Detekt 1.22.0

* Fix rules/its findings
2022-12-19 08:08:25 +01:00
Honza Rychnovsky a77f3a629c
[#820] Kotlin 1.7.21 + KSP 1.7.21
* [#820] Kotlin 1.7.21 + KSP 1.7.21

* Re-generate locks after merge

* Update Changelog
2022-12-16 14:11:09 +01:00
Jack Grigg 3669afd0e2 rust: Lower default log level to INFO
This ensures that errors are logged and tracing events are generated,
but prevents debug logging in release mode. Eventually this will be
made configurable based on the SDK build type, but for now we impose
the same limits on debug builds.
2022-12-15 16:22:36 -05:00
Jack Grigg dec24e9787 Initialize the Rust library atomically
Previously if `initLogs()` was called more than once, the application
would crash. `NativeLibraryLoader` already implements a singleton for
loading the Rust library, so we now hook into that for initialization.

We now always initialize the Rust logging system, along with the tracing
event hooks and anything else we add in future.
2022-12-15 16:22:36 -05:00
Jack Grigg 7852ea1243 rust: Cache span names as `CString`s
We also avoid parsing span names as `CString`s if tracing is disabled.
2022-12-15 16:22:36 -05:00
Jack Grigg a3b575a5bb rust: Document NDK methods and expose `ATrace_isEnabled` 2022-12-15 16:22:36 -05:00
Jack Grigg ff93581945 rust: cargo update
Includes updates to Zcash Rust crates that add profiling to light client
chain scanning subcomponents.
2022-12-15 16:22:36 -05:00
Honza Rychnovsky 653a5250dd
[#819] Dokka 1.7.20 2022-12-15 17:24:22 +01:00
Honza Rychnovsky f3299a0d88
[#815] Gradle Versions Plugin 0.44.0 2022-12-15 17:20:11 +01:00
Honza Rychnovsky a73ea15a56
[#796] Gradle 7.6 2022-12-15 16:17:28 +01:00
Honza Rychnovsky 7ba47d9db6
[#834] Protoc 3.21.11 2022-12-15 13:49:21 +01:00
Honza Rychnovsky e524486192
[#822] Emulator.wtf Gradle Plugin 0.0.12 2022-12-15 13:46:38 +01:00
Honza Rychnovsky 62b9370682
[#821] JUnit 5.9.1 + Mockito 4.9.0 2022-12-15 08:25:37 +01:00
Honza Rychnovsky 42857c0c13
[#816] Material Components 1.7.0 2022-12-15 08:24:56 +01:00
dependabot[bot] 70d80541a6
Bump actions/setup-java from 3.8.0 to 3.9.0 in /.github/actions/setup (#829)
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3.8.0 to 3.9.0.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](c3ac5dd0ed...1df8dbefe2)

---
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-12-15 08:18:09 +01:00