* [#1180] Frequent SbS synchronization restarting
- Processing blocks with SbS split into preparation and processing functions, which can be called repeatedly.
- Refactored other parts of the synchronization mechanism
- Closes#1180
- This also partly solves #1137
* Update .gitignore
* Update LINCENSE documentation
* [#1177] Checkpoints update
* Fix Ktlint warning
* Jni objects attribute constraint tests
* Extend continuity error test
* ScanRange model tests
* [#1174] Move model classes out of the CompactBlockProcessor
* [#1174] SbS: Move model classes out of the CompactBlockProcessor
* Move SyncingResult out of the processor
* Add issue link
* [#1168] Checkpoints update
* [#1159] Updated sync progress reporting
* Increase test_robo_demo_app timeout
* Migrate to ClosedEndRange
It’s better to transform suggested ranges from OpenEndRange to ClosedRange as soon as possible to avoid its handling in the rest of the logic.
* Improve all batch count calculating
* Subsequent SbS sync algorithm renaming
* Add rewind button to Demo app
To be able to test refactored CompactBlockProcessor rewind feature.
* Rename non-linear to spend-before-sync
* [#1129] Refactor lastSyncRange lastSyncedHeight
* Fix updateRange function
As the overallSyncRange needs to be reset in case of all ranges are processed.
* [#1166] Remove alsoClearBlockCache parameter
* [#1133] Set the correct getSubtreeRoots inputs
- It also better handles setState calls
- It fixes OpenEndRange -> ClosedRange
- And it improves logging in syncing mechanism
* Increase build CI timeout
* [#1139][#1138] Process Priority.Verify blocks
This makes the new subtask functions more testable.
* Increase CI test timeout
* [#1047][#1140] Improve CBD internal state handling
* [#1047][1140] Improve CBD internal state handling
This improves internal state handling in CompactBlockProcessor. Error handling included. And it prepares us for ContinuityError handling too.
* [#1143] Handle ContinuityError
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.
* [#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
* [#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>