zcash-android-wallet-sdk/sdk-lib
Honza Rychnovský c0c4506664
[#1241][#1243][#1222] Rewinding when ContinuityError
* [#1241] Remove rewind for every verify scan range

- The original solution comes from the pseudocode requirement: Download the blocks in `scan_range` into the block source, overwriting any existing blocks in this range.
- Removed

* [#1243] Rewind only after continuity-error

- Rewind is done only when Continuity-error appears now. In case of other sync failures, the sync loop sleeps for a short time and then retries. Internal actions like fetching subtree roots, fetching chain tip, downloading, scanning, etc., still have their internal retry mechanisms.
- For the calculation of the rewind height, we use the existing checkContinuityErrorResult method, originally used only for validation use cases but later incorrectly used for other failures too.
- Closes #1243
- Closes #1222 as it was created to determine which failure type comes and don’t rewind for all of them
- Tested manually in several scenarios, e.g. lost internet connection or app going to background

* Handle Continuity and other sync errors

- Call handleContinutyError and its rewind logic directly without checking failed attempts. This ensures that we keep trying to reorg.
- And return the correct type of error in that case.
- Add fail logic to the handling of the other types of errors.
2023-09-19 15:47:56 +02:00
..
src [#1241][#1243][#1222] Rewinding when ContinuityError 2023-09-19 15:47:56 +02:00
build.gradle.kts [#921] AGP 8.0.2 2023-06-09 15:18:11 +02:00
lint-baseline.xml [#971] Refactor Rust FFI to separate module 2023-05-18 07:36:15 -04:00
lint.xml [#888] Android Gradle Plugin 7.4 2023-01-18 11:23:25 -05:00
packages.md Move packages.md 2021-09-11 07:27:00 -04:00
proguard-consumer.txt [#971] Refactor Rust FFI to separate module 2023-05-18 07:36:15 -04:00
proguard-project.txt [#971] Refactor Rust FFI to separate module 2023-05-18 07:36:15 -04:00