* WIP: Provide the pool type when retrieving a memo.
* Gitignore new idea file
* Let TypesafeBackend work with typesafe class
* Query and use protocol for memo obtaining
---------
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
* CompactBlockProcessor: Remove `withDownload` parameter
* backend-lib: Migrate to latest in-progress revision of Rust crates
Includes changes to how accounts are stored and referenced. We now
need to remember and provide the seed fingerprint; for now, given
that we know we only create derived accounts from a single seed, we
search for an account with a matching ZIP 32 account index.
* backend-lib: Add `Backend.isSeedRelevantToWallet`
* Remove nullability of DownloadSuccess param
* Comment update
* Fix Detekt warnings
* backend-lib: Migrate to latest in-progress revision of Rust crates
Includes some renames, and a built-in seed relevancy API that we now
use.
* Separate tree state fetching
- Added continuable retry logic
* Integrate Orchard support
Closes Electric-Coin-Company/zcash-android-wallet-sdk#528.
Closes Electric-Coin-Company/zcash-android-wallet-sdk#761.
* Detekt warnings fix
* Fix unit tests
* Update `TxOutputsView` to use correct column names. (#1425)
* Return an error instead of a panic in the case of data corruption. (#1426)
This removes an `expect` call that risked crashing the app in the case of
database corruption, potentially hiding other bugs.
* Include `orchardSubtreeRootList` in final check
* Revert `orchardSubtreeRootList` check
Explanation comment added
* Changelog update
* Update to zcash_client_sqlite version 0.10.3 (#1428)
---------
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
Co-authored-by: Kris Nuttycombe <kris@electriccoin.co>
* [#776] Enable ZIP 317 fees support
* Deprecate ZcashSdk.MINERS_FEE
* Replace MINERS_FEE with Proposal API in Demo app
* Changelog update
* Bump SDK to 2.0.8 to produce snapshot version
The backend now supports proposals that create multiple transactions.
It still does not generate such proposals itself, and we assert this
inside the now-deprecated APIs.
- 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.
Part of Electric-Coin-Company/zcash-android-wallet-sdk#680.
* [#1385] Adopt `AccountBalance` fields in Kotlin layer
- Adds the Kotlin side changes for #1380
- Changed WalletBalance to contain these three fields: available, changePending, and valuePending, instead of total and available, and change the transparent flow to StateFlow<Zatoshi>, as we don't distinguish there.
- Related connected APIs changed
- Closes#1385
* Add WalletBalanceFixture
Placed in the public directory to be visible for clients as well
* Changelog update
* Remove `getVerifiedTransparentBalance ` API entirely
Co-authored-by: str4d <jack@electriccoin.co>
* backend-lib: Expose `AccountBalance` fields across the FFI
* Update related fixture class
---------
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
* Migrate to `librustzcash` tag `ecc_sdk-20240130a`
This includes the fix to the empty transaction request serialization
bug, which was preventing shielding from working.
* Release zcash-android-wallet-sdk 2.0.6
* Fix ktlint warnings
* Other CBP minor/formatting changes
---------
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
- This copies the pattern from lightwallet-client-lib module where we set the package for the generated classes
- It adds internal to the path, to be explicit about not exposing it out of the backend module
This removes the type system separation between pre-ZIP 313 and ZIP 317
fees, which becomes necessary when using the transaction proposal
protobuf encoder.
* 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>
* [#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
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.
* Add JniScanProgressTest
* Remove unnecessary testnet workaround
As this was fixed with the last rust changes.
* Simplify batchCount calculating
* Fix ratio typo
* Docummentation comments changes