* Replace Sapling balance and scan progress FFIs with wallet summary FFI
Closeszcash/zcash-android-wallet-sdk#1282.
* Using test fixture for JniAccountBalance
* Minor documentation changes
* Fix typo
---------
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
* [#1278] Adopt BIP-39 library v1.0.6
- SNAPSHOT version adopted until the production one is available
- Added maven snapshot libraries version support. The same as in the Zashi repository
- Changelog updated
- Will close#1278
* Switch to non-snapshot version
- Tested with demo-app
- Removed all uses of the incorrect 1000-ZAT fee as defined with deprecated zip-313
- Default is now 10k zatoshi, the minimum defined by zip-317
- Changelog updated
- Closes #1273
* [#1271] Remove double build (test)
* Increase build action timeout
As still after the dual build is removed, the first build can take a longer time to finish.
* [#1249] Continuity error rewind
- Fixed the Rust FFI bug that caused us to be unable to catch the Continuity error
- Improved logging
- Moved handling the Continuity error to the outer synchronization loop, which works better with synchronization mutex
- Closes#1249
* Resolve minor comments from older PR #1247
- Off-by-one in determining whether a transaction is confirmed.
- Expiry logic was inverted for non-zero expiry heights.
- Transactions with zero (disabled) expiry heights happened to work
because this case is currently detected in the database logic and
mapped to `null`, which the old code mapped to `Long.MAX_VALUE`
which gave the correct result for the old conditional expression.
With the fixes to `v_transactions` and `v_tx_outputs`, there are
several more data fields that may have no data (for rows corresponding
to purely-transparent transactions); their fields are made nullable.
* [#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.
* Add JniScanProgressTest
* Remove unnecessary testnet workaround
As this was fixed with the last rust changes.
* Simplify batchCount calculating
* Fix ratio typo
* Docummentation comments changes