Commit Graph

1113 Commits

Author SHA1 Message Date
Honza Rychnovský 0edaaafad1
[#1104] SDK Release 1.19.0-beta01 2023-07-05 14:19:57 +02:00
Honza Rychnovský 0f9b13e454
[#1102] Checkpoints update 2023-07-05 14:19:13 +02:00
Honza Rychnovský 0a3efdbb6c
[#1096] Fix null mined height crash
This handles the state in which is a transaction after it’s created with mined height null. It then doesn’t try to convert such a height into a BlockHeight object which is doing validation on input height. It rather returns null, similarly as for expiry height.
2023-07-05 14:18:49 +02:00
Honza Rychnovský 89ee0190af
[ #1099] Proper transaction state 2023-07-05 14:18:22 +02:00
Honza Rychnovský dc330228ff
[#1097] Adopt Bip39 1.0.5
* [#1097] Adopt Bip39 1.0.5

* Fix Detekt warnings
2023-07-04 14:14:20 +02:00
Honza Rychnovský e60af8e824
[#1092] Remove unused Paging lib dependency 2023-06-22 17:09:52 +02:00
Honza Rychnovský 166d24ce37
[#953] TransactionOverview fixture
This just checks and validates the already existing TransactionOverview fixture.
2023-06-22 16:19:36 +02:00
Honza Rychnovský 89511e6d45
[#1088] Demo: Add Missing Compose Previews
With follow-up filed: Demo: Add Addresses and Transactions Compose Previews #1090
2023-06-22 16:19:13 +02:00
Honza Rychnovský ab7928003c
[#1048] Duration instead of Long
- This replaces Long type usage with Kotlin Duration in the calculatePollInterval
2023-06-21 09:41:02 +02:00
Honza Rychnovský 53f5550bf4
[#1066] Detekt enhancement
* [#1083] Detekt Compose 0.1.10

* [#1066] Detekt - MaxLineLength rule turn on

* Remove default values

As we keep only those that differ from the default in the latest Detekt update.

* [#1086] Improve TODO inline occurrence pattern
2023-06-20 11:26:38 +02:00
Honza Rychnovský 2ff884b38b
[#1080] SDK Release 1.18.0-beta01 2023-06-12 16:03:39 +02:00
Honza Rychnovský e1665d7aa6
[ #1078] Checkpoints update 2023-06-12 15:48:09 +02:00
Honza Rychnovský eadd2682ab
[#1076] Fix Runtime.exec() in Rosetta build script
* [#1076] Fix Runtime.exec() in Rosetta build script

* Increase check_properties timeout

- As it appeared to be insufficient in some of the other PRs
2023-06-12 15:13:37 +02:00
dependabot[bot] 7d5358731e
Bump actions/checkout from 3.5.2 to 3.5.3 (#1075)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.2 to 3.5.3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](8e5e7e5ab8...c85c95e3d7)

---
updated-dependencies:
- dependency-name: actions/checkout
  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-06-12 11:42:25 +02:00
Carter Jernigan 83910888ea
[#921] AGP 8.0.2
* [#921] AGP 7.4.2

* Bump AGP to version 8.0.2

- Includes necessary changes

* Gradle and Rust plugin compatibility workaround

* Release build proguard rules

After bumping to the AGP 8.0.2 some new proguard rules are autogenerated and one new for the io.grpc.okhttp.OkHttpChannelProvider is needed

* Plugins compatibility workaround update

* Disable unnecessary benchmark module minification

As we just need to keep the target module obfuscated.

* [#1067] Gradle 8.1.1

* [#1068] Activity Compose 1.7.2

* [#1069] Protobuf

* [#1070] Tracing 1.2.0-rc01

* [#1071] JUnit 5.9.3

* [#1072] Mockito 5.3.1

* Demo app release build timeout increase

- Our latest change (double build due to Rust integration issue) possibly causes our build timeout to exceed with the latest Gradle version

* Dep issue template update

* Fix deprecated Runtime.exec()

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-06-09 15:18:11 +02:00
Carter Jernigan 938da71777
[#877] Optimize CI build cache
* [#877] Optimize CI build cache

By saving and restoring the cache at different times, this should improve performance by allowing the cache to be created during main branch builds and then just consumed by

* check_properties link correct cache job
---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-06-09 10:31:04 +02:00
Honza Rychnovský b99ab6cdf9
[#920] Rust backend void return
* [#920] Tweak RustBackend public APIs to have void return values

- Contains changes for putUtxo() function

* Changes for scanBlocks() function

* Changes for decryptAndStoreTransaction()

* Changes for rewindToHeight()

* Changes for writeBlockMetadata()

* Changes for initBlocksTable and initAccountsTable
2023-06-09 10:29:33 +02:00
Carter Jernigan 61c83989d9
[#940] Improve reliability of erasing SDK
* [#940] Improve reliability of erasing SDK

* Fix Ktlint warning

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-06-08 08:46:24 +02:00
Carter Jernigan dba46c266c
Dependency updates (#1064)
* [#1060] Detekt 1.23.0

* [#1060] Refactor Detekt integration

Use a convention plugin to be consistent with our other projects.  Also added the Compose Detekt rules.

* [#1061] Ktlint 0.49.1

* [#1012] Emulator.wtf Gradle plugin 0.12.2

* [#1062] Foojay resolver 0.5.0

* [#1055] Remove kapt from darkside-test

* [#1063] Flank 23.04.0
2023-05-31 12:38:42 +02:00
Honza Rychnovsky 4926e3a24d
[#939] Eliminate default arguments for Account
* [#939] Eliminate default arguments for Account

* Add Account.DEFAULT to demo-app tests

* Update changelog
2023-05-23 13:39:46 +02:00
Honza Rychnovsky 20638afa52
[#1030] Make sdk-lib gRPC objects free
- This follows our goal of having the sdk-lib module completely separated from the networking layer
2023-05-23 13:08:25 +02:00
Honza Rychnovsky 68e7e1f7de
[#1039] Retry enhancing fetch transaction
Enhancing transaction details mechanism was refactored to provide more clarity about its inner phases (fetching and decrypting with storing) and to be able to retry when the transaction fetching fails due to flaky network condition
2023-05-22 17:03:50 +02:00
Honza Rychnovsky b1901c0c8f
[#1053] Checkpoints update 2023-05-22 15:25:27 +02:00
Carter Jernigan bfc8d136ab Update changelog for 1.17.0-beta01 2023-05-22 09:03:12 -04:00
Carter Jernigan ac63df2759 zcash_client_sqlite 0.7.1 2023-05-22 08:00:47 -04:00
Honza Rychnovsky 138342cec5
[#1027][#1028] CompactBlockProcessor Exception with off-by-one error 2023-05-22 13:41:02 +02:00
Carter Jernigan 65069f76dd [#1031] Revert strictMode violation: LeakedClosableViolation data db
Until we have more time to investigate, I have reverted this issue due to a prelaunch report crash https://github.com/zcash/secant-android-wallet/issues/868

This reverts commit ca0e69d97f.
2023-05-19 14:30:16 -04:00
Honza Rychnovsky 352811cd6b
[#1026] Continuous Batched Enhancing
* [#1026] Consider Enhancing Every 1000 Synced Blocks

* Enhancing refactoring code cleaning

* Query un-enhanced transactions from repository

- And change enhancement range in case of any transaction found
- Changed enhancing trigger appropriately
- Covered also the case when the sync stage ended before the enhancement limit reached
- Cleaned up the code

* File and link sub-stages error handling follow-up

* File and link Duration instead of Long refactoring issue

---------

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2023-05-19 16:34:05 +03:00
Carter Jernigan 912f676c28 [#1044] GRPC 1.55.1 and Protoc 3.23.1 2023-05-19 06:10:34 -04:00
Carter Jernigan 9220ce798e [#1040] Coroutines 1.7.1 2023-05-19 06:10:20 -04:00
Carter Jernigan 4ec27b2574 [#1042] Androidx updates 2023-05-19 06:10:08 -04:00
Carter Jernigan 283581a770 Name SDK IO thread 2023-05-18 10:15:34 -04:00
Jack Grigg dd7370cfcb rust: Name the Rayon threads 2023-05-18 10:15:34 -04:00
Carter Jernigan bc19797125
[#971] Refactor Rust FFI to separate module
---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-05-18 07:36:15 -04:00
Honza Rychnovsky ca0e69d97f
[#1031] StrictMode violation: LeakedClosableViolation data db 2023-05-16 14:26:34 +02:00
Honza Rychnovsky 63a3bfe3e4
[#1034] Checkpoints update 2023-05-16 14:26:07 +02:00
Carter Jernigan f047c75941 Remove ECC Wallet from readme 2023-05-12 11:02:57 -04:00
Honza Rychnovsky 15603fcdf1
[#1023] Move Fetch UTXOs Before Block Sync
* [#1023] Move Fetch UTXOs Before Sync

* Add refreshTransparentBalance() after UTXOs fetch

* Add refreshTransactions() after UTXOs fetched
2023-05-11 14:55:58 +02:00
Honza Rychnovsky dfaa827fd1
[#1013] Sync stages parallelization
* [#1013] Sync blockchain sub-phases parallelization

- Remove the unnecessary comment after the latest changes in this code fragment

* Move solely CompactBlockProcessor-related constants

* Simplify sync range update construction

* [#1013] Sync blockchain sub-phases parallelization

* Changelog update

* Block files deletion documentation update

* Leverage buildList API

* CompactBlockRepository documentation update

* Move BlockBatch to internal models
2023-05-10 12:45:23 +02:00
Francisco Gindre e5c7e4b6c8
[#1018] add limit parameter to validateCombinedChain
* rust: cargo update

* rust: Migrate to `zcash_client_sqlite 0.7`

* rust: cargo fmt

* Adopt zcash_client_sqlite 0.7 database changes

* [#1018] add limit parameter to validateCombinedChain

* Adopt limit parameter in Android layer

* Switch limit argument to Long

- Switched from Int to Long type
- Done for both validate and scan blocks functions
- Changed the default parameter for nullable one in the public interface to let callers be explicit about the argument
- Changed in the Rust layer as well

---------

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
Co-authored-by: Jack Grigg <jack@z.cash>
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-05-10 11:49:42 +02:00
dependabot[bot] dd892d0406
Bump google-github-actions/auth from 1.1.0 to 1.1.1 (#1025)
Bumps [google-github-actions/auth](https://github.com/google-github-actions/auth) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/google-github-actions/auth/releases)
- [Changelog](https://github.com/google-github-actions/auth/blob/main/CHANGELOG.md)
- [Commits](e8df18b60c...35b0e87d16)

---
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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-10 10:55:19 +02:00
Carter Jernigan ebd176a287 [#1020] Kotlin 1.8.21 2023-05-09 05:57:22 -04:00
Carter Jernigan 953042e982
[#239] Remove pending transaction database 2023-05-05 17:46:07 -04:00
Carter Jernigan bb6d37d701 Adopt zcash_client_sqlite 0.7 database changes 2023-05-05 14:57:43 -04:00
Jack Grigg 6fa96fd0ac rust: cargo fmt 2023-05-05 14:57:43 -04:00
Jack Grigg 9bf48fbd4d rust: Migrate to `zcash_client_sqlite 0.7` 2023-05-05 14:57:43 -04:00
Jack Grigg 5f753a2b46 rust: cargo update 2023-05-05 14:57:43 -04:00
Carter Jernigan 354ef9efc9 [#1011] Ktlint 0.49.0 2023-05-03 10:16:24 -04:00
Honza Rychnovsky 2593556890
[#1009] Change CompactBlockProcessor methods signature
* [#1009] Change CompactBlockProcessor methods signature

* Remove withContext {}

Since our networking, RustBackend, and CompactBlockRepository all use coroutines internally by implementing `suspend` for their APIs, we don’t need withContext() anymore.  (If we discover something does do blocking IO on the thread, we should deal with it at the point the IO is occurring rather than at the top level)

* Sort FileExt functions

* Add isDirectorySuspend

- To avoid strict mode disc IO violation warning

* Omit try/catch on block files delete action

* Refactor scan batch function

- Removed retry mechanisms, as it’s not needed now after the previous switch from the database-based blocks persisting to file-based blocks persisting
- scan function now works with the current processing range of blocks size instead of hardcoded constant value

* Eliminate duplicate processorInfo object

* Change log text

* MutableList instead of ArrayList

* Eliminate sync range nullability

* Rewind not scanned blocks

If we find out that we previously downloaded, but not validated and scanned persisted blocks, we need to rewind the blocks above the last scanned height first.

* Fix ktlint warning

---------

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2023-05-01 13:12:38 +02:00
Honza Rychnovsky ebff7fbefb
[#941] Fetch UTXOs setAddress() failure
- We rather use add address method for this use case, as the addresses field does not  seem to be initialized with a fixed size at the time of address setting
2023-04-20 08:04:13 +02:00