Commit Graph

252 Commits

Author SHA1 Message Date
Honza 11b031a6af Exit execution when retry limit reached 2023-09-12 19:27:20 +02:00
Honza 39ba2b48b0 Fix ktlint warning 2023-09-11 20:22:41 +02:00
Honza c7125f4183 Update createAccountAndGetSpendingKey API
- TypesafeBackend.createAccountAndGetSpendingKey now works with a type-safe TreeState model class instead of ByteArray.
- New type-safe TreeState added. Once we get the TreeState object from the lightwalletd server, potential validation comes into this object.
2023-09-11 19:11:03 +02:00
Honza Rychnovský a082fe9034
[#1231] GetConsensusBranchId works with chain tip (#1232)
* [#1231] GetConsensusBranchId works with chain tip

Closes #1231
2023-09-11 09:11:01 +02:00
Honza 4c8c32587b Add note on scan continuity error texts 2023-09-10 10:31:56 +02:00
Honza a8813277f7 retryUpToAndContinue exception wrapper trigger fix 2023-09-10 10:19:08 +02:00
Honza 95da0f25ab BlockHeight subtraction fix 2023-09-09 19:56:56 +02:00
Honza 79ba05f23b Change denominator requirement
- Added safe progress ratio calculating function
- Added test
2023-09-09 19:11:58 +02:00
Honza a43c5f130e Change createAccountAndGetSpendingKey API
The checkpoint parameter changed for treeState: ByteArray
2023-09-09 19:11:58 +02:00
Honza Rychnovský 899b487ee4 [#1219] Remove calculated sync progress
Closes #1219
2023-09-08 20:23:37 +02:00
Honza Rychnovský c6032b47bd [#1208][#1215] Pass proper `recoverUntil`
- Closes #1208
- CLoses #1215
2023-09-08 20:23:37 +02:00
Honza Rychnovský 59ab627c82 [#1218] Adopt new getScanProgress API 2023-09-08 20:22:40 +02:00
Honza Rychnovský fc14082a1c [#1213] Remove `BlockTable` and its APIs
* [#1213] Remove `count()` from BlockTable API

* [#1213] Remove `firstScannedHeight()` from BlockTable API

* [#1213] Remove `findBlockHash()` from BlockTable

* [#1213] Remove `lastScannedHeight()` from BlockTable

* [#1213] Remove `BlockTable` entirely
2023-09-08 20:22:40 +02:00
Honza Rychnovský 33a7a2000f [#1210] Eliminate LINEAR sync support 2023-09-08 20:19:51 +02:00
Jack Grigg 42cf9d6466 Migrate to Rust revision that exposes scanned heights 2023-09-08 20:19:51 +02:00
Honza 7b7275b5bd Migrate to latest Rust revision follow-up changes 2023-09-08 20:19:51 +02:00
Honza Rychnovský 9e334fd375 [#1109][#1206] Regular balance flows emission
* [#1206] Optimize SYNC_BATCH_SIZE

* [#1109] Regular balance flows emission
2023-09-08 20:19:51 +02:00
Jack Grigg 11d9529f2b Migrate to latest Rust revision
- Account birthdays
- Scan progress
- Bugfixes
2023-09-08 20:19:51 +02:00
Honza Rychnovský 648b31a555 [#1170] Regular transaction flow emitting
* [#1170] Regular transaction flow emitting

Although zcash/librustzcash#918 will provide information on when to trigger transaction polling, this partly solves the issue as well

* Update changelog
2023-09-08 20:19:51 +02:00
Honza Rychnovský 10a7aa7f3f [#1180] Frequent SbS synchronization restarting
* [#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
2023-09-08 20:19:51 +02:00
Honza f23aca38a6 Update getSuggestScanRangePriority fallback value 2023-09-08 20:19:51 +02:00
Jack Grigg 32069bea0a Migrate to Rust revision with scan queue initialization 2023-09-08 20:19:51 +02:00
Honza Rychnovský 0e40b3a807 [#1181] Stop update balance before updateChainTip 2023-09-08 20:19:51 +02:00
Honza Rychnovský 9795610bb9 [#1136] Tests for the new helper extensions
* 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
2023-09-08 20:19:51 +02:00
Honza 7277a7ecca Fix ktlint warning 2023-09-08 20:19:51 +02:00
Honza 61f618caf9 Remove OpenEndRange type entirely 2023-09-08 20:19:51 +02:00
Honza 6e7d2404dc Fix query db projection in getSaplingOutputIndices 2023-09-08 20:19:51 +02:00
Honza cc3129d0a5 Fix selectionArgs input type 2023-09-08 20:19:51 +02:00
Honza d1ef768b7a Minor formatting changes 2023-09-08 20:19:51 +02:00
Honza Rychnovský fd17e7ef0e [#1159] Update sync progress reporting
* [#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
2023-09-08 20:19:51 +02:00
Honza Rychnovský 91f5cbe24d [#1129] Refactor ProcessorInfo
* 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
2023-09-08 20:19:51 +02:00
Honza Rychnovský 70cd1e030c [#1157] Get roots: recover failed communication 2023-09-08 20:19:51 +02:00
Honza Rychnovský 6b487e979e [#1160] New SyncAlgorithm type API 2023-09-08 20:19:50 +02:00
Jack Grigg 54d016e401 Migrate to Rust revision with checkpoint and memo bugfixes 2023-09-08 20:18:10 +02:00
Honza Rychnovský 3c31144963 [#1133] Set the correct getSubtreeRoots inputs
* [#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
2023-09-08 20:18:10 +02:00
Honza Rychnovský 7d098f67b9 [#1146] Process the rest of the ranges
* [#1146] Process the rest of the ranges
2023-09-08 20:18:10 +02:00
Honza Rychnovský 92ac1e926e [#1139][#1138] Process Priority.Verify blocks
* [#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
2023-09-08 20:18:10 +02:00
Honza Rychnovský c8b481a12f [#1130] Initial Suggested Ranges Parsing
* [#1130] Initial suggested ranges parsing
2023-09-08 20:18:10 +02:00
Honza Rychnovský b811305e53 [#1125] Download chain tip metadata 2023-09-08 20:18:10 +02:00
Honza Rychnovský 6a68889df6 [#1123] Linear vs Non-linear decision mechanism 2023-09-08 20:18:10 +02:00
Jack Grigg 3c5d91b112 Expose `putSaplingSubtreeRoots` and `updateChainTip` Rust APIs 2023-09-08 20:18:10 +02:00
Honza 57fe48e9fe Switch to ScanRange model in sdk-lib module 2023-09-08 20:18:10 +02:00
Honza 85388a85c3 Clear validation stage 2023-09-08 20:18:10 +02:00
Honza 7cee1d7203 Make buildable + Solve Lint warnings 2023-09-08 20:18:10 +02:00
Jack Grigg 12c3441778 Migrate to Rust crate versions with fast spendability support 2023-09-08 20:18:10 +02:00
Honza Rychnovský 4f58e5aac9
[#1188] Checkpoints update
Closes #1188
2023-09-08 18:30:45 +02:00
Honza Rychnovský d38bde86ba
[#1176] Rest Dependency Update 2023-09-03 22:18:48 +02:00
Honza Rychnovský 45f1c473b2
[#1111] Poll transactions and balances while syncing
* [#1111] Poll transactions during synchronization

* Poll transactions and balances Demo-app manually
2023-08-16 13:17:00 +02:00
Honza Rychnovský 0be05a1c4c
[#1108] Getting memo for sent transactions 2023-07-31 13:34:41 +02:00
Honza Rychnovský 1936c69cbd
[#1147] Checkpoints update 2023-07-31 11:37:16 +02:00