This removes the last direct access to the `utxos` table; all access
now goes through the Rust FFI.
`SDKSynchronizer.latestUTXOs` is removed without replacement. It was
introduced during the initial addition of shielding support, but:
- It is no longer used anywhere inside the SDK (when added, it was
used in a few other methods).
- It is not exposed in the `Synchronizer` protocol.
- It is AFAICT unused in Zashi iOS, Edge, and Unstoppable.
- It was functionally replaced by `refreshUTXOs`, which performs
best-effort UTXO updates instead of failing on any error. (It also
does not clear the `utxo`s table which makes it not equivalent.)
- Returns `null` when there are no funds to shield or the shielding
threshold is not met.
- Throws an exception if there are funds to shield in more than one
transparent receiver within the account.
- Has an optional parameter for specifying which transparent receiver
to shield funds from.
This commit only alters the API to support the above; the functional
changes require modifying the FFI and Rust backend, which will happen
in a separate commit.
- plural of account balances refactor to singular
[#1369] SynchronizerState refactor
- transaprent balance removed from SynchronizerState
- all balances are now handled with AccountBalance
[#1369] SynchronizerState refactor and balances cleanup
- WalletBalance has been removed from the SDK, replaced with AccountBalance
- public APIs for individual balances (getTransparent, getShielded, getShieldedVerfied) have been removed from the SDK, replaced with getAccountBalance
- tests refactored
[#1369] SynchronizerState refactor and balances cleanup
- dark side tests refactored
[#1369] SynchronizerState refactor and balances cleanup (#1372)
- addressed comments
[#1369] SynchronizerState refactor
- ZcashError for spending key does not belong to the wallet
- new public API switchTo(endpoint:) implemented
[#1153] Allow runtime switch of lightwalletd servers
- API documented
- code cleaned up
[#1153] Allow runtime switch of lightwalletd servers
- mocks generated
[#1153] Allow runtime switch of lightwalletd servers (#1373)
- sever validation added
[#1153] Allow runtime switch of lightwalletd servers (#1373)
- enhanced validation of the server
[#1153] Allow runtime switch of lightwalletd servers (#1373)
- new ZcashError.synchronizerServerSwitch that represents the state when the endpoint fails validation
[#1153] Allow runtime switch of lightwalletd servers (#1373)
- ZcashError definition update
[#1153] Allow runtime switch of lightwalletd servers (#1373)
- addressed comments
[#1153] Allow runtime switch of lightwalletd servers (#1373)
- changelog revert according to proposal
- new public API with returning AccountBalance
[#1363] Expose PoolBalance Zatoshi values
- accountBalances exposed into the SynchronizationState
[#1363] Expose PoolBalance Zatoshi values
- public vs. internal
[1363] Account balances in the SynchronizerState
- changelog update
- scanAction reports the initial after-scan value immediately instead of after X scans
- SynchronizerState has been refactored, we no longer call 2 rust methods to get shielded verified + total balances
- tests refactored to reflect this change
- mocks regenerated
- Sourcery version bumped
[#1363] Account balances in the SynchronizerState
- changelog typo fixed
[#1363] Account balances in the SynchronizerState
- internal vs. public
- changelog updated
- block stream errors are now handled as a special case of error, retry logic is triggered but at most 3-times in case of service being truly down
- the failure is not passed to the clients so ideally the false positive errors are reduced as well as the delay in the sync time
[#1351] Recover from block stream issues (#1352)
- typo fixed