Commit Graph

1160 Commits

Author SHA1 Message Date
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
Lukas Korba 5644f8913f
Merge pull request #1316 from pacu/custom-checkpoint-provisioning
Create a Dependency that can load checkpoints from bundle
2023-11-15 18:00:51 +01:00
Francisco Gindre 6625ffd711
Create a Dependency that can load checkpoints from bundle
Closes #1315

This PR introduces small changes on each commit.
Things done:

rename Checkpoint+Constants to Checkpoint+helpers

Move `Checkpoint` from Model folder to Checkpoint folder

Remove unused function `ofLatestCheckpoint` from BlockHeight

Create a protocol called `CheckpointSource` that contains the
relevant functionality to get checkpoints from Bundle

Create a set of tests that check that functionality is maintained
when a `CheckpointSource` is used instead of Checkpoint helpers

Implement `BundleCheckpointSource` and add Tests

Code clean up: move `BundleCheckpointURLProvider` to its own file

Code clean up: `Checkpoint+helpers` match file header

Replace use of `Checkpoint.birthday(with:network)` with CheckpointSource

Revert "Remove unused function `ofLatestCheckpoint` from BlockHeight"

addresses PR comment from @daira

This reverts commit d0e154ded7, since it
modifies a public API and it was not the goal of this PR.

Update Sources/ZcashLightClientKit/Checkpoint/BundleCheckpointSource.swift

Use a decent Date Format

Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>

Improve documentation on BundleCheckpointURLProvider

Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>

Improve documentation on BundleCheckpointURLProvider

Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>

use YYYY-mm-dd on file header

author: @daira

Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>

Add test that verifies that the exact height is returned if available
2023-11-08 15:45:14 -03:00
Lukas Korba 65cab30d64
Merge pull request #1319 from pacu/update-xcode-select-action
[#1318] Fix build github action failing
2023-11-02 16:28:06 +01:00
Francisco Gindre c5d2173271
[#1318] Fix build github action failing
Closes #1318
2023-10-31 14:47:39 -03:00
Lukas Korba 23486ccfcd
Merge pull request #1311 from LukasKorba/1310-Release-2-0-3
[#1310] Release 2-0-3
2023-10-20 12:55:02 +02:00
Lukas Korba fb7eb1978d [#1310] Release 2-0-3
- checkpoints updated

[#1310] Release 2-0-3

- FFI version bumped
- other dependencies bumped as well

[#1310] Release 2-0-3

- checkpoints mentioned in the changelog
2023-10-20 12:46:15 +02:00
Lukas Korba bd3ec59f09
Merge pull request #1309 from LukasKorba/1308-Enhancing-seems-to-not-process-all-ranges
[#1308] Enhancement seems to not process all ranges
2023-10-20 10:49:05 +02:00
Lukas Korba 6223170f80
Update CHANGELOG.md
- grammar check

Co-authored-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-10-20 10:16:52 +02:00
Lukas Korba ab23f15fa1 [#1308] Enhancing seems to not process all ranges
- The enhance action is driven by lastEnhancedHeight value. The range is computed from it and every 1000 blocks are enhanced. The value hasn't been reseted with the new suggested ScanRanges so when some higher ranges were processed first, all lower heights were skipped
- fixed and covered with the unit test

[#1308] Enhancing seems to not process all ranges (#1309)

- changelog update
2023-10-20 09:54:17 +02:00
Kris Nuttycombe c1cc041ab0 Update CHANGELOG for 2.0.2 release. 2023-10-12 12:33:19 -06:00
Kris Nuttycombe f504dbd726
Merge pull request #1305 from LukasKorba/1303-Dont-invalidate-the-timer-with-the-error
[#1303] Don't invalidate the timer with the error
2023-10-12 12:31:51 -06:00
Lukas Korba 5983cd8f91 [#1303] Don't invalidate the timer with the error
- the most simple fix for this issue is to set the number of attempts to the "infinity"
- smarter solution will require a better retry logic in general, covered in #1304
2023-10-12 18:10:07 +02:00
Lukas Korba 8aeafa2f9b
Merge pull request #1302 from LukasKorba/1301-foundTransactions-don't-emit-after-rewind
[#1301] foundTransactions don't emit after rewind
2023-10-12 16:48:47 +02:00