* [#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
* [#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>
* [#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>
* [#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
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
* [#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>
* 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>
* [#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>
- 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