Commit Graph

1173 Commits

Author SHA1 Message Date
Lukas Korba 6c9b7a91d6
Merge pull request #1389 from LukasKorba/1388-Release-2-0-11
[#1388] Release 2.0.11
2024-03-08 17:09:50 +01:00
Lukas Korba 9ce891e928 [#1388] Release 2.0.11
- Changelog updated
- Checkpoints added for both mainnet and testnet

[#1388] Release 2.0.11 (#1389)

- Unreleased added to the changelog
2024-03-08 17:09:06 +01:00
str4d 7fcf1fad02
Merge pull request #1382 from Electric-Coin-Company/1204-expose-proposals
Expose APIs for working with transaction proposals
2024-03-08 14:50:06 +00:00
Jack Grigg 129ac4398e Add missing changes to protocols for `Synchronizer` wrappers 2024-03-08 00:41:58 +00:00
Jack Grigg 23fd0698d4 Migrate to FFI 0.6.0 release 2024-03-08 00:26:02 +00:00
Jack Grigg 9b2be559cd Add `Proposal.transactionCount` 2024-03-07 18:50:31 +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
Lukas Korba f617f17e2a Add testOnlyFakeProposal for testing purposes outside SDK 2024-03-06 02:54:19 +00:00
Lukas Korba bb1a05ef5c Enable ZIP 317 fees
Closes Electric-Coin-Company/zcash-swift-wallet-sdk#1186.
2024-03-06 02:53:34 +00:00
Jack Grigg 84ac6252fe 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.

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.
2024-03-06 02:53:34 +00:00
Jack Grigg 136a3116b9 Documentation fixes 2024-03-06 02:53:34 +00:00
Jack Grigg dd41e655e4 Deprecate `Synchronizer.sendToAddress` and `Synchronizer.shieldFunds` 2024-03-06 02:53:34 +00:00
Jack Grigg 8145248285 Expose APIs for working with transaction proposals
Closes Electric-Coin-Company/zcash-swift-wallet-sdk#1204.
2024-03-06 02:53:33 +00:00
Lukas Korba 2ef0e00385
Merge pull request #1377 from LukasKorba/1376-Release-2-0-10
[#1376] Release 2.0.10
2024-02-12 20:08:43 +01:00
Lukas Korba 7007560cf2
Update CHANGELOG.md
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
2024-02-12 20:07:19 +01:00
Lukas Korba 432beb96d5
Update CHANGELOG.md
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
2024-02-12 20:07:12 +01:00
Lukas Korba 9f339d5252 [#1376] Release 2.0.10
- Checkpoints added
- Changelog updated
2024-02-12 19:48:34 +01:00
Lukas Korba c7c2438b73
Merge pull request #1375 from LukasKorba/1374-ZashiError-generated-code-update-is-missing
[#1374] ZashiError generated code update is missing
2024-02-12 18:08:28 +01:00
Lukas Korba 913f677282 [#1374] ZashiError generated code update is missing
- ZcashError generated code updated
2024-02-12 17:55:14 +01:00
Lukas Korba 1faf31a8c9
Merge pull request #1372 from LukasKorba/1369-SynchronizerState-with-PoolBalance
[#1369] SynchronizerState refactor
2024-02-12 17:41:45 +01:00
Lukas Korba e51f425c54 [#1369] SynchronizerState refactor
- 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
2024-02-12 17:41:26 +01:00
Lukas Korba 25e844115d
Merge pull request #1371 from LukasKorba/1368-Handle-any-lightwalletd-error-with-retry-logic
[#1368] Handle any lightwalletd error with retry logic
2024-02-12 17:40:41 +01:00
Lukas Korba 99d4821769 [#1368] Handle any lightwalletd error with retry logic
- The retry logic was implemented for blockStream errors only but this PR generalize it for any lightwalletd error
2024-02-12 17:40:28 +01:00
Lukas Korba 09fe70dff2
Merge pull request #1373 from LukasKorba/1153-Allow-runtime-switch-of-lightwalletd-servers
[#1153] Allow runtime switch of lightwalletd servers
2024-02-12 17:37:55 +01:00
Lukas Korba c7369057f1 [#1153] Allow runtime switch of lightwalletd servers
- 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
2024-02-12 17:13:08 +01:00
Lukas Korba 10dc5ed861
Merge pull request #1333 from pacu/swiftlint
[#1332] Enable Swiftlint workflow
2024-02-05 12:33:31 +01:00
Lukas Korba 170408d5d6
Merge pull request #1364 from LukasKorba/1363-Expose-PoolBalance-Zatoshi-values
[#1363] Account balances in the SynchronizerState
2024-02-01 08:59:41 -08:00
Lukas Korba 9fab46a2d1 [#1363] Expose PoolBalance Zatoshi values
- 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
2024-01-31 17:05:13 -08:00
Lukas Korba cc4f1ef8bd
Merge pull request #1362 from Electric-Coin-Company/release-2.0.8
Release version 2.0.8
2024-01-31 08:44:36 -08:00
Kris Nuttycombe 20c4e2f8b0 Release version 2.0.8 2024-01-30 18:03:52 -08:00
Kris Nuttycombe d7ac804135
Merge pull request #1361 from Electric-Coin-Company/feature-2.0.7
Feature branch for release 2.0.7
2024-01-30 10:01:12 -07:00
Kris Nuttycombe 59cf3570dd Update to zcash-light-client-ffi version 0.5.0 2024-01-30 08:44:47 -08:00
Jack Grigg c8a181d2f0 Merge branch 'main' into feature-2.0.7 2024-01-29 10:02:42 -08:00
str4d 2a8f6c2bb0
Merge pull request #1356 from Electric-Coin-Company/perf-and-summary-updates
Migrate to in-progress version of FFI backend 0.5.0
2024-01-29 17:57:22 +00: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
Lukas Korba 598e76ba58
Merge pull request #1360 from LukasKorba/1359-Release-2-0-6
[#1359] Release 2.0.6
2024-01-28 17:54:33 +01:00
Lukas Korba 4e4c4d0514 [#1359] Release 2.0.6
- changelog updated
2024-01-28 08:52:35 -08:00
Lukas Korba e3a3b4d1e7
Merge pull request #1358 from LukasKorba/1357-Checkpoints-update
[#1357] Checkpoints update
2024-01-28 17:50:00 +01:00
Lukas Korba e3cbd78712 [#1357] Checkpoints update
- new checkpoints added
2024-01-28 08:43:16 -08:00
Lukas Korba 06d2b6986f
Merge pull request #1352 from LukasKorba/1351-Recover-from-download-issues
[#1351] Recover from block stream issues
2024-01-25 13:36:01 +01:00
Lukas Korba f2a2dfb03c [#1351] Recover from block stream issues
- 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
2024-01-25 13:35:46 +01:00
Lukas Korba cf6a1e7923
Merge pull request #1354 from LukasKorba/1346-Troubleshooting--synchronization
[#1346] Troubleshooting synchronization
2024-01-25 13:33:25 +01:00
Lukas Korba bca6ceb15f [#1346] Troubleshooting synchronization
- changelog update
- the sync time has been reduced by ~33%. The progress reporting frequency has been lowered down 5-times
- this is just first step and a quick improvement before we introduce advanced solution, covered in #1353

[#1346] Troubleshooting synchronization (#1354)

- typo fixed
2024-01-25 13:32:58 +01:00
Lukas Korba 0e4e1190e3
Merge pull request #1337 from LukasKorba/1336-Tweaks-for-sdk-metrics
[#1336] Tweaks for sdk metrics
2023-12-15 09:10:08 +01:00
Lukas Korba 1dde31e41a [#1336] Tweaks for sdk metrics
- the logs are split so it's not a huge string
- the log method is async
- added a new log with balances

[#1336] Tweaks for sdk metrics

- wait a bit so the logs are sorted in time

[#1336] Tweaks for sdk metrics

- wait a bit so the logs are sorted in time

[#1336] Tweaks for sdk metrics

- wait a bit so the logs are sorted in time

[#1336] Tweaks for sdk metrics

- cleanup

[#1336] Tweaks for sdk metrics

- changelog update

[#1336] Tweaks for sdk metrics

- checkpoints updated

[#1336] Tweaks for sdk metrics

- changelog typos fixed

[#1336] Tweaks for sdk metrics

- mocks generated
2023-12-15 09:01:04 +01:00
Lukas Korba dec7a02371
Merge pull request #1329 from LukasKorba/1328-Release-2-0-4
[#1328] Release 2.0.4
2023-12-12 20:07:12 +01:00
Francisco Gindre 7272b92765
[#1332] Enable Swiftlint workflow
Closes #1332.

This runs an ubuntu box with a swiftlint process and nothing else.

During implementing this same thing in the ZIP-321 library I found
that the Swift Package Plugin for Swiftlint did work after some
juggling, but it added a lot of build time to the main build job
so it delayed the CI for several minutes while a separate machine
would to the same chore more effectively and also in an isolated
way without mixing lint and build failures
2023-12-12 15:51:15 -03:00
Lukas Korba 723c1d7a06 [#1328] Release 2.0.4
- Changelog updated with the date
2023-12-12 18:27:42 +01:00
Lukas Korba ad6ac80ee4
Merge pull request #1327 from LukasKorba/1325-Log-metrics
the logger has been extended to log the level as well
there is only partial match of levels between SDK logger levels, OSLogEntryLogLevel and OSLogType so only debug, info, error are fully matched
this is a base for the exporter on client's side
Scan & Enhance logs added
checkpoints updated
every CBP action is measured separately and collects the data, when the sync is done it dumps overview of the run to the logger
next run clears out the previous data and starts to collect fresh reports for the run
2023-12-12 18:23:07 +01:00
Lukas Korba 3e263f0c35 [#1325] Log metrics
- the logger has been extended to log the level as well
- there is only partial match of levels between SDK logger levels, OSLogEntryLogLevel and OSLogType so only debug, info, error are fully matched
- this is a base for the exporter on client's side

[#1325] Log metrics

- typos fixed

[#1325] Log metrics

- scan metric logs added

[#1325] Log metrics

- Scan & Enhance logs

[#1325] Log metrics

- checkpoints updated
- every CBP action is measured separately and collects the data, when the sync is done it dumps overview of the run to the logger
- next run clears out the previous data and starts to collect fresh reports for the run

[#1325] Log metrics (#1327)

- changelog update

[#1325] Log metrics (#1327)

- SDKMetrics updated to be mockable
- unit test updated

[#1325] Log metrics (#1327)

- performance tests cleaned out

[#1325] Log metrics (#1327)

- Network tests buildable again
2023-12-12 08:59:52 +01:00