Commit Graph

73 Commits

Author SHA1 Message Date
Jack Grigg e6c8c97a96 Migrate to FFI 0.17.0 2025-06-05 22:11:16 +01:00
Jack Grigg 0361700992 Migrate to second preview of the 0.17.0 FFI
Includes:
- Published versions of the Zcash crates.
- FFIs for HTTP GET and POST over Tor.
2025-06-03 01:38:55 +01:00
Jack Grigg c36009593b Migrate to first preview of the 0.17.0 FFI
Includes:
- Changes to improve scan/recovery progress reporting.
- Tor client re-bootstrapping.
- A single retry per exchange source for exchange rate data.
- Tor client dormant mode settings.
2025-06-03 01:38:55 +01:00
Jack Grigg 28ae390458 Migrate to FFI 0.16.0 2025-05-13 19:38:19 +01:00
Lukas Korba 90cc180c65 Update Package.resolved on the root 2025-03-05 11:26:05 +01:00
Jack Grigg 09aeeb7d2d Expose UFVK on the `Account` type 2025-03-01 11:52:45 +13:00
Jack Grigg 8a8b63bf53 Bump FFI preview for `zcashlc_tor_lwd_conn_fetch_transaction` arg fix 2025-03-01 00:21:28 +13:00
Jack Grigg 07b33f11a2 Migrate to second preview of FFI 0.13.0 2025-02-28 02:46:47 +13:00
Jack Grigg 57e12e2332 Migrate to first preview of FFI 0.13.0 2025-02-14 15:27:49 +13:00
Jack Grigg bf839def5c Update root Package.resolved to match example app 2025-02-14 14:15:08 +13:00
Jack Grigg 7f57ca0c17 Migrate to zcash-light-client-ffi 0.11.0 2024-11-16 10:38:17 +13:00
Kris Nuttycombe e6b52871ab zcash-swift-wallet-sdk release version 2.2.6 2024-10-22 10:39:04 -06:00
Kris Nuttycombe 239873ce56 Update to zcash-light-client-ffi 0.10.1 2024-10-10 21:50:19 -06:00
Kris Nuttycombe 91f6b7b53b Update to preview `zcash-light-client-ffi` release fix for with note commitment tree corruption. 2024-10-06 18:50:59 -06:00
Kris Nuttycombe 7f5b646799 release zcash-swift-wallet-sdk version 2.2.1
This release fixes an error in database migrations that could cause
problems when upgrading from version in the 2.1.x range.
2024-08-21 17:29:41 -06:00
Kris Nuttycombe 7ea678cf7a Update package.resolved for zcash-light-client-ffi 0.9.0 2024-08-20 14:57:06 -06:00
Jack Grigg a7f73c39f3 Migrate to first pre-release of FFI 0.9.0
Includes:
- Initialization changes to enable log filter customization. We now
  connect the Rust log level to the Swift log level, and always run
  other Rust initialization steps.
- ZIP 320 support (TEX addresses).
2024-07-30 11:01:41 +01:00
Kris Nuttycombe 0cf08c6a59 Update to zcash-light-client-ffi version 0.8.0. 2024-04-17 17:21:37 -06:00
Jack Grigg 006861595d Fetch and store Orchard subtree roots 2024-03-28 10:52:17 -04:00
Jack Grigg 43534d26d9 Integrate Orchard support and latest Rust updates 2024-03-25 23:19:44 -04:00
Jack Grigg a5a0ef0ac1 Migrate to latest in-progress revision of Rust crates
- New backend method `ZcashRustBackend.isSeedRelevantToWallet`
- `ZcashRustBackend.scanBlocks` now takes a `fromState` argument.

Co-authored-by: Lukas Korba <lukas.korba@seznam.cz>
2024-03-15 16:01:39 +00:00
Jack Grigg 86defc8b4a Remove `AccountRepository`
This removes the last direct access to the `accounts` table; all access
now goes through the Rust FFI.
2024-03-15 15:26:44 +00:00
Jack Grigg 23fd0698d4 Migrate to FFI 0.6.0 release 2024-03-08 00:26:02 +00:00
Jack Grigg e9177a28f7 Migrate to in-progress version of FFI backend 0.6.0
Includes:
- Multi-step transaction proposals.
- Changes to support `Synchronizer.proposeShielding` API changes.
2024-03-06 03:06:57 +00:00
Kris Nuttycombe 20c4e2f8b0 Release version 2.0.8 2024-01-30 18:03:52 -08:00
Kris Nuttycombe 59cf3570dd Update to zcash-light-client-ffi version 0.5.0 2024-01-30 08:44:47 -08:00
Jack Grigg ded20fe7b0 Migrate to in-progress version of FFI backend 0.5.0
Includes:
- Exposed `WalletSummary`.
- Exposed transaction proposals.
- `ScanSummary` returned from `ZcashRustBackend.scanBlocks`.

Closes Electric-Coin-Company/zcash-swift-wallet-sdk#1259.
Closes Electric-Coin-Company/zcash-swift-wallet-sdk#1299.
2024-01-29 09:47:14 -08:00
Kris Nuttycombe 71a6f580fc Update `zcash-light-client-ffi` for 2.0.0 final release. 2023-09-25 15:55:49 -06:00
Kris Nuttycombe d8b069fd15 Update librustzcash to fix transparent balance issues. 2023-09-22 18:18:10 -06:00
Kris Nuttycombe 404eff21b1 Update to zcash-light-client-ffi version 0.4.0-rc.3 2023-09-19 15:43:52 -06:00
Kris Nuttycombe 4b754c5378 Update zcash-light-client-ffi package revision. 2023-09-19 12:09:28 -06:00
Kris Nuttycombe 2c526dbcd6 Update `zcash-light-client-ffi` to adopt fix for missing transparent history.
Fixes #1271

Co-Authored-By: Jack Grigg <jack@electriccoin.co>
Co-Authored-By: Lukas Korba <lukas.korba@seznam.cz>
2023-09-19 08:26:03 -06:00
Kris Nuttycombe 2ac984a0dd Update zcash-light-client-ffi to version 0.4.0-rc.2 2023-09-12 10:06:25 -06:00
Kris Nuttycombe 457cc9a9e7 Update zcash-light-client-ffi to fix an error with checkpoint depths.
See [zcash/librustzcash#963]
2023-09-11 19:16:17 -06:00
Kris Nuttycombe e28035292f Release 2.0.0-rc1
* Updates to `zcash-light-client-ffi 0.4.0-rc.1`
* Makes some cleanup updates to the CHANGELOG; a complete changelog will
  be prepared for the 2.0.0 final release.
2023-09-11 19:10:55 -06:00
Kris Nuttycombe 6c3dd362b6 Update Rust dependencies with bugfixes.
The previous `zcash-light-client-ffi` revisions should be treated as
ephemeral; they will be removed upon creation of the SDK 2.0.0 release
candidate.
2023-09-07 23:16:26 -06:00
Jack Grigg 01436c9a93 Update Rust dependencies with bugfixes
The previous FFI repo revisions no longer exist; commits between
87faf91096 and here will not build.
2023-09-07 19:54:12 +01:00
Lukas Korba 95536638e5 [#1176] Cover Spend before Sync with tests
- WIP

[#1176] Cover Spend before Sync with tests

- next batch of updates

[#1176] Cover Spend before Sync with tests

- last batch of fixes and new tests

[#1176] Cover Spend before Sync with tests

- package.resolved updated

[#1176] Cover Spend before Sync with tests (#1212)

- added tests for brand new actions related Spend before Sync
- RewindActionTests
- UpdateChainTipActionTests
- UpdateSubtreeRootsActionTests
- ProcessSuggestedScanRangesActionTests
2023-09-07 13:23:50 +02:00
Jack Grigg e7621204e5 Update Rust dependencies with account birthdays and scan progress
The previous FFI repo revisions no longer exist; commits between
87faf91096 and here will not build.

Update Rust dependencies with account birthdays and scan progress

- fixes for SampleApp
2023-09-07 09:26:48 +02:00
Kris Nuttycombe 8f2962f060 Update the `zcash-light-client-ffi` dependency version. 2023-08-28 10:08:12 -06:00
Jack Grigg bc052872fd Update Rust dependencies with scanning and spending bugfixes
The previous FFI repo revisions no longer exist; commits between
87faf91096 and here will not build.
2023-08-17 21:47:27 -07:00
dependabot[bot] 8a516620dc
Bump github.com/apple/swift-nio-extras from 1.12.1 to 1.19.0
Bumps [github.com/apple/swift-nio-extras](https://github.com/apple/swift-nio-extras) from 1.12.1 to 1.19.0.
- [Release notes](https://github.com/apple/swift-nio-extras/releases)
- [Commits](https://github.com/apple/swift-nio-extras/compare/1.12.1...1.19.0)

---
updated-dependencies:
- dependency-name: github.com/apple/swift-nio-extras
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-09 11:19:50 +00:00
Jack Grigg cddf6891fd Update Rust dependencies with checkpoint and memo bugfixes
The previous FFI repo revisions no longer exist; commits between
87faf91096 and here will not build.
2023-08-08 12:30:28 +01:00
Jack Grigg ea3281edde Update Rust dependencies with bugfixes
The previous FFI repo revision no longer exists; commits between
87faf91096 and here will not build.
2023-07-31 09:56:40 +02:00
Jack Grigg 6eb39561ec Migrate to Rust backend with fast spendability support 2023-07-19 18:13:59 +01:00
Francisco Gindre f33280c8c4
[#1108] Instrument rust backend tracing (#1109)
* [#1108] Instrument rust backend tracing

This adds a parameter to the `Initializer` constructor that allows
developers to turn on performance trancing tooling on the Rust
backend. It can't be disabled on the fly. It's either OFF or ON
all the life-span for the Synchronizer.

Closes #1108

Update ffi framework commit hash

* update resolved filed
2023-05-23 13:31:30 -03:00
Francisco Gindre f5e7c027af
[#1001] Remove PendingDb in favor of `v_transactions` and `v_tx_output` Views (#1001)
Removes `PendingTransactionEntity` and all of its related components.
Pending items are still tracked and visualized by the existing APIs
but they are retrieved from the `TransactionRepository` instead by
returning `ZcashTransaction.Overview` instead.

`pendingDbURL` is removed from every place it was required. Its
deletion is responsibility of wallet developers.

`ClearedTransactions` are now just `transactions`.

`MigrationManager` is deleted. Now all migrations are in charge of
the rust welding layer.

`PendingTransactionDao.swift` is removed.

Implementation of `AccountEntity` called `Account` is now `DbAccount`

`ZcashTransaction.Overview` can be checked for "pending-ness" by calling
`.isPending(latestHeight:)` latest height must be provided so that minedHeight
can be compared with the lastest and the `defaultStaleTolerance` constant.

`TransactionRecipient` is now a public type.

protocol `PendingTransactionRepository` is removed.

`TransactionManagerError` and `PersistentTransactionManager` are deleted.

`OutboundTransactionManager` is deleted and replaced by `TransactionEncoder`
which now incorporates `submit(encoded:)` functionality

`WalletTransactionEncoder` now uses a `LightWalletService` to submit the
encoded transactions.

Add changelog changes

Delete references to PendingDb from tests and documentation.

Fixes some typos. Adds the ability to trace transaction repository
SQL queries from test

Fix rebase conflicts and generate code

[#837] Memo tests regarding transparent address

Closes #837

Add model for transaction output

Point to FFI branch

Fix issue where sync wouldn't resume after wipe. Becasue GRPC
channel would be closed

Fix Tests

Fix testPendingTransactionMinedHeightUpdated

Fix testLastStates

[#921] Fix  broken SynchronizerDarksideTests

Add ZcashTransaction.Output API to Synchronizer

Changelog + comment fix

Add Assertions for transaction outputs and recipients

Point to FFI 0.3.1

Fix Demo App Compiler errors

Fix Demo App Compiler errors

fix cacheDb warnings

Fix Tests and compiler errors of rebase

build demo app

Remove `ZcashTransaction.Sent` and `.Received`. Add `.State` and tests

Fix SPM warning

PR Suggestions

Removes errors that are not used anymore

fix warnings
2023-05-05 14:30:47 -03:00
Francisco Gindre c238e443ab
[#983] Update FFI Framework to 0.3.0 (#984)
Closes #983
Closes #914
2023-04-18 11:49:00 -03:00
Francisco Gindre 802aaa437d
[#959] Fix `v_transactions` view issues with value (#963)
This change switches to a new (future) version of the rust crates
that will get rid of the sent and received transactions Views in
favor of a `v_transaction` view that will do better accounting of
outgoing and incoming funds. Additionally it will support an
outputs view for seeing the inner details of transactions enabling
the SDKs tell the users the precise movement of value that a tx
causes in its multiple possible ways according to the protocol.

the `v_tx_outputs` view is not yet implemented.

Sent and Received transaction sub-types are kept for compatibility
purposes but they are generated from Overviews instead of queried
from a specific view.

In the transaction Overview the value represents the whole value
transfer for the transaction from the point of view of a given
account including fees. This means that the value for a single
transaction Overview struct represents the addition or subtraction
of ZEC value to the account's balance.

Future updates will give clients the possibility to drill into the
inner workings of those value changes in a per-output basis for
each transaction.

Also, the field `pending_unmined` field was added to `v_transactions`
so that wallets can query `DataDb` for pending but yet unmined txs

This will prepare the field for removing the notion of a "PendingDb"
and its nuances.

Also updated test database `darkside_data.db`

Closes #959

Closes #971 ZcashLightClientKitSample main target broken swiftlint script

Demo App improvements: Show Short date and value on transaction list
2023-04-18 09:10:56 -03:00
Francisco Gindre 24da80d36b
[#821] `failedToWriteMetadata` at sync startup (#822)
contains no public API changes.

Adds `func shouldClearBlockCacheAndUpdateInternalState() -> BlockHeight?` to `SyncRanges`
so that the compact block processor can advert internal states that are not consistent and
recover from such state.

Closes #821
2023-03-09 15:40:06 -03:00