Commit Graph

1332 Commits

Author SHA1 Message Date
Jack Grigg c8d0be8404 Add `Proposal.transactionCount` 2024-03-07 19:49:18 +00:00
Honza c4b45c2c2f Eliminate the suppressions 2024-03-06 20:17:58 +00:00
Honza 8bd009c98a Improve logging inside `txManager.submit()` 2024-03-06 20:17:58 +00:00
Honza 8e4c83627b Improve `createProposedTransactions` 2024-03-06 20:17:58 +00:00
Jack Grigg 99e91fa8b7 Migrate to `zcash_client_sqlite 0.9.0`
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.
2024-03-06 20:17:58 +00:00
Jack Grigg abffb3f9ee Adjust `Synchronizer.proposeShielding` API
- 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.
2024-03-06 20:17:41 +00:00
Jack Grigg e36bbdec7a Expose shielding threshold in `Synchronizer.proposeShielding`
`Synchronizer.shieldFunds` is not altered because it is deprecated.
2024-03-06 16:40:21 +01:00
Jack Grigg d2fa400531 Deprecate `Synchronizer.sendToAddress` and `Synchronizer.shieldFunds` 2024-03-06 16:40:21 +01:00
Jack Grigg a27fbda8c0 Expose APIs for working with transaction proposals
Closes Electric-Coin-Company/zcash-android-wallet-sdk#1359.
2024-03-06 16:40:21 +01:00
Jack Grigg 04f1f47957 Fix bug where mempool submission errors were being ignored 2024-03-06 16:40:21 +01:00
str4d 41bb83cb5e
Emit sync progress from `CBP.runSyncingAndEnhancingOnRange` after scan (#1361)
Downloading and scanning blocks are requirements for updating sync
progress, but block deletion from the cache is not. This change moves
block deletion into "the background" alongside transaction enhancement.

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-03-06 14:10:56 +00:00
dependabot[bot] 41324da2d8
Bump actions/download-artifact from 4.1.3 to 4.1.4 (#1408)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.1.3 to 4.1.4.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](87c55149d9...c850b930e6)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-04 08:53:22 +01:00
Honza Rychnovský 381bd42b89
[#1393] Support server switching
- This ensures that the SDK supports apps switching between different lightwalletd servers
- Synchronizer.validateServerEndpoint API added
- Demo app updated to leverage this new feature
- Changelog update
- Closes #1393
2024-03-02 18:55:22 +01:00
dependabot[bot] 36c803ab2e
Bump actions/cache from 4.0.0 to 4.0.1 in /.github/actions/setup (#1407)
Bumps [actions/cache](https://github.com/actions/cache) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](13aacd865c...ab5e6d0c87)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-01 10:40:16 +01:00
dependabot[bot] b265aa8875
Bump actions/setup-java from 4.0.0 to 4.1.0 in /.github/actions/setup (#1404)
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](387ac29b30...9704b39bf2)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-29 14:09:37 +01:00
dependabot[bot] 8e63b89f70
Bump actions/download-artifact from 4.1.2 to 4.1.3 (#1402)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.1.2 to 4.1.3.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](eaceaf801f...87c55149d9)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-27 10:15:07 +01:00
Honza Rychnovský f5ab7d9d19
[#1400] Update public Memo class API
- Closes #1400
- Adds a few more minor changes
- Changelog update
2024-02-26 15:59:05 +01:00
dependabot[bot] a0335a3571
Bump google-github-actions/auth from 2.1.1 to 2.1.2 (#1399)
Bumps [google-github-actions/auth](https://github.com/google-github-actions/auth) from 2.1.1 to 2.1.2.
- [Release notes](https://github.com/google-github-actions/auth/releases)
- [Changelog](https://github.com/google-github-actions/auth/blob/main/CHANGELOG.md)
- [Commits](a6e2e39c0a...55bd3a7c6e)

---
updated-dependencies:
- dependency-name: google-github-actions/auth
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-26 12:55:30 +01:00
dependabot[bot] a04f6566f8
Bump gradle/wrapper-validation-action from 1.1.0 to 2.1.1 (#1395)
Bumps [gradle/wrapper-validation-action](https://github.com/gradle/wrapper-validation-action) from 1.1.0 to 2.1.1.
- [Release notes](https://github.com/gradle/wrapper-validation-action/releases)
- [Commits](56b90f209b...699bb18358)

---
updated-dependencies:
- dependency-name: gradle/wrapper-validation-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-13 08:52:50 +01:00
dependabot[bot] 1fd3945d35
Bump actions/upload-artifact from 4.3.0 to 4.3.1 (#1389)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.0 to 4.3.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](26f96dfa69...5d5d22a312)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-13 08:52:33 +01:00
dependabot[bot] 1b6fc0bf5d
Bump google-github-actions/auth from 2.1.0 to 2.1.1 (#1388)
Bumps [google-github-actions/auth](https://github.com/google-github-actions/auth) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/google-github-actions/auth/releases)
- [Changelog](https://github.com/google-github-actions/auth/blob/main/CHANGELOG.md)
- [Commits](5a50e58116...a6e2e39c0a)

---
updated-dependencies:
- dependency-name: google-github-actions/auth
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-13 08:52:14 +01:00
dependabot[bot] a1ec8a3c53
Bump actions/download-artifact from 4.1.1 to 4.1.2 (#1387)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.1.1 to 4.1.2.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](6b208ae046...eaceaf801f)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-13 08:51:51 +01:00
Honza Rychnovský 19cca515fb
[#1385] Adopt `AccountBalance` fields in Kotlin layer
* [#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>
2024-02-07 17:33:47 +01:00
str4d b617eb1bb3
backend-lib: Expose `AccountBalance` fields across the FFI
* backend-lib: Expose `AccountBalance` fields across the FFI

* Update related fixture class

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-02-05 16:16:13 +01:00
str4d 394ddefb16
Fix Rust crash when shielding (#1379)
* 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>
2024-01-31 03:43:16 +01:00
Honza a79e204bd9 [#1323] Release zcash-android-wallet-sdk 2.0.5 2024-01-30 19:43:42 +00:00
Jack Grigg f16282305e backend-lib: Set correct MSRV 2024-01-30 17:23:37 +00:00
Jack Grigg 76b3d7bc5f Changelog updates for 2.0.5 2024-01-30 17:23:37 +00:00
Jack Grigg 9fd25a0197 CompactBlockProcessor: Add tracing 2024-01-30 17:23:37 +00:00
Jack Grigg f792bfbb7c backend-lib: Add tracing to every Rust FFI method 2024-01-30 17:23:37 +00:00
Jack Grigg ddc4cf6f7b cargo update 2024-01-30 17:23:37 +00:00
Jack Grigg 1cdaaa974c Migrate to `ecc_sdk-20240129` tag of Zcash Rust crates 2024-01-30 17:23:37 +00:00
Jack Grigg 22407a593d Get `WalletSummary` on CBP start and use it to bound subtree roots
This improves performance in two ways:
- The `SdkSynchronizer` now reports balances of existing wallets and
  sync progress almost immediately, instead of after the first batch
  of blocks is scanned.
- In the steady state case, only a few subtree roots are downloaded,
  reducing the time until the first batch of blocks is scanned.

Closes Electric-Coin-Company/zcash-android-wallet-sdk#1310.
2024-01-30 17:23:37 +00:00
Jack Grigg a8965b01c6 Fix types of arguments to `GetSubtreeRoots` and `putSaplingSubtreeRoots` 2024-01-30 17:23:37 +00:00
Jack Grigg e0fcbbea3a Refresh wallet transparent balance flow from `WalletSummary`
Previously we only showed balance updates for the default address; this
could potentially undercount transparent balance in some cases.

We also now use the total zero-conf transparent balance for both "total"
and "available", because we only allow transparent balance to be
shielded, and we use a zero-conf transaction to do so.
2024-01-30 17:23:37 +00:00
Jack Grigg 55d0dd47d8 Deduplicate balance refreshing APIs 2024-01-30 17:23:37 +00:00
Jack Grigg 1f19360ca3 Expose the rest of `WalletSummary` across the FFI 2024-01-30 17:23:37 +00:00
Jack Grigg 9eeb5ba04c backend-lib: Migrate to latest in-progress revision of Rust crates
Includes performance improvements to block scanning.
2024-01-30 17:23:37 +00:00
Jack Grigg 7149def6f1 Expose `ScanSummary` across the FFI
Closes Electric-Coin-Company/zcash-android-wallet-sdk#1368.
2024-01-30 17:23:37 +00:00
Jack Grigg bb3733ec94 CompactBlockProcessor: Deduplicate sleep code
Closes Electric-Coin-Company/zcash-android-wallet-sdk#1252.
2024-01-30 17:23:37 +00:00
Honza 61b2eb5ed5 Explicit generated location
- 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
2024-01-30 17:23:37 +00:00
Jack Grigg 0f0cd81a12 Replace `Backend.{createToAddress, shieldToAddress}` with proposal-based methods
Closes Electric-Coin-Company/zcash-android-wallet-sdk#1338.
2024-01-30 17:23:37 +00:00
Jack Grigg 251392d9cf Migrate to `jni 0.21`
In addition to the necessary breaking changes, we also clean up the
style to match what is used in the `jni` crate examples.
2024-01-30 17:23:37 +00:00
Jack Grigg c6c2a1c54e backend-lib: Migrate to `standard::SingleOutputChangeStrategy`
This removes the type system separation between pre-ZIP 313 and ZIP 317
fees, which becomes necessary when using the transaction proposal
protobuf encoder.
2024-01-30 17:23:37 +00:00
Jack Grigg 85af183cee backend-lib: Migrate to latest in-progress revision of Rust crates 2024-01-30 17:23:37 +00:00
dependabot[bot] f2e895633d
Bump actions/upload-artifact from 4.2.0 to 4.3.0 (#1367)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](694cdabd8b...26f96dfa69)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-24 09:09:22 +01:00
dependabot[bot] c0321df596
Bump google-github-actions/auth from 2.0.1 to 2.1.0 (#1366)
Bumps [google-github-actions/auth](https://github.com/google-github-actions/auth) from 2.0.1 to 2.1.0.
- [Release notes](https://github.com/google-github-actions/auth/releases)
- [Changelog](https://github.com/google-github-actions/auth/blob/main/CHANGELOG.md)
- [Commits](f6de81663f...5a50e58116)

---
updated-dependencies:
- dependency-name: google-github-actions/auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-24 09:05:30 +01:00
dependabot[bot] 88058c6346
Bump actions/upload-artifact from 4.1.0 to 4.2.0 (#1356)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](1eb3cb2b3e...694cdabd8b)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-22 09:52:32 +01:00
Jack Grigg 1bf2f84837 Migrate to Rust 1.75.0 and NDK 26.1.10909125
Closes Electric-Coin-Company/zcash-android-wallet-sdk#317.
2024-01-18 11:43:54 +00:00
dependabot[bot] f6eb37731f
Bump actions/cache from 3.3.3 to 4.0.0 in /.github/actions/setup (#1354)
Bumps [actions/cache](https://github.com/actions/cache) from 3.3.3 to 4.0.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](e12d46a63a...13aacd865c)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-17 08:24:23 +01:00