* 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>
- 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
* 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>
* [#920] Tweak RustBackend public APIs to have void return values
- Contains changes for putUtxo() function
* Changes for scanBlocks() function
* Changes for decryptAndStoreTransaction()
* Changes for rewindToHeight()
* Changes for writeBlockMetadata()
* Changes for initBlocksTable and initAccountsTable