ZcashLightClientKit/Sources/ZcashLightClientKit
Michal Fousek 5c979f42e6 [#209] Add support for multiple instances of the SDKSynchronizer
Closes #209.

[#845] Introduce ZcashSynchronizerAlias enum

Closes #845.

[#852] SDKSynchronizer using queues label based on the alias

Closes #852.

[#847] Remove posibility to use DatabaseStorageManager as singleton

Closes #847.

[#850] Remove synchronizerConnectionStateChanged notification

Closes #850.

[#855] Add check if the Alias is already used

Closes #855

- Added `UsedAliasesChecker` utility which is used to register aliases
  that are in use.
- `prepare()` and `wipe()` methods now check if the current alias can't
  be used and if not then `InitializerError.aliasAlreadyInUse` is
  thrown/emitted.
- Some public methods that could cause harm if used with the Alias that
  is already in use now throw `SynchronizerError.notPrepared`. Thanks to
  this the client app is forced to call `prepare()` first. And
  `prepare()` does check for the Alias.
- Added tests for new conditions.

[#849] Make InternalSyncProgress aware of the Alias

Closes #849.

[#853] Only instance with default Alias migrates legacy cache DB

Closes #853.

[#851] Apply the Alias to the URLs

Closes #851.

- `Initializer` now updates paths according to alias before paths are
  used anywhere in the SDK.
- Paths update can fail. It would be incovenient for the client apps to
  handle errors thrown from `Initiliazer` constructor. So the error is
  then handled in `SDKSynchronizer.prepare()` or `SDKSynchronizer.wipe()`.

[#846] Stop using SDKMetrics as singleton (#862)

- metrics are not longer a singleton
- tests fixed
- metrics outside init of the synchronizer

[#848] Make logger aware of the alias

- logger is now an instance passed throughout the sdk instead of a static proxy

[#848] Make logger aware of the alias (#868)

- comments addressed

[#848] Make logger aware of the alias (#868)

- returning protocol back

Fix typos

[#856] Add possibility to test multiple synchronizers in the sample app

Closes #856.

- Added `alias` property to `Synchronizer`.
- Added `SyncBlocksListViewController` which provides UI to use multiple
  synchronizers at once.

[#209] Add changelog

- Add changelog for #209.
- Overall improve readability of the rendered changelog. Tickets
  references are now prefixed with `###` instead of `- `.

Fix compilation
2023-03-27 20:42:52 +02:00
..
Block [#209] Add support for multiple instances of the SDKSynchronizer 2023-03-27 20:42:52 +02:00
Constants [#795] Include sapling-spend file into bundle for tests 2023-02-20 10:03:16 +01:00
DAO [#209] Add support for multiple instances of the SDKSynchronizer 2023-03-27 20:42:52 +02:00
Entity [#209] Add support for multiple instances of the SDKSynchronizer 2023-03-27 20:42:52 +02:00
Extensions [#209] Add support for multiple instances of the SDKSynchronizer 2023-03-27 20:42:52 +02:00
Metrics [#209] Add support for multiple instances of the SDKSynchronizer 2023-03-27 20:42:52 +02:00
Model Merge branch 'main' into 556_using_transactions_db_views 2023-01-19 12:44:28 +01:00
Modules/Service [#209] Add support for multiple instances of the SDKSynchronizer 2023-03-27 20:42:52 +02:00
Providers - [#679] Implementation of the File-system based block cache (#679) 2023-02-02 13:58:12 -03:00
Repository [#871] Cleanup internals of the SDK and use async where applicable 2023-03-27 16:16:42 +02:00
Resources/checkpoints [#824] Release 0.19.1-beta (#825) 2023-03-10 11:16:12 -03:00
Rust - [#679] Implementation of the File-system based block cache (#679) 2023-02-02 13:58:12 -03:00
Synchronizer [#209] Add support for multiple instances of the SDKSynchronizer 2023-03-27 20:42:52 +02:00
Tool [#711] Add Swiftlint plug in to SDK (#722) 2023-01-18 17:09:04 +01:00
Transaction [#209] Add support for multiple instances of the SDKSynchronizer 2023-03-27 20:42:52 +02:00
Utils [#209] Add support for multiple instances of the SDKSynchronizer 2023-03-27 20:42:52 +02:00
ClosureSynchronizer.swift [#209] Add support for multiple instances of the SDKSynchronizer 2023-03-27 20:42:52 +02:00
CombineSynchronizer.swift [#209] Add support for multiple instances of the SDKSynchronizer 2023-03-27 20:42:52 +02:00
Initializer.swift [#209] Add support for multiple instances of the SDKSynchronizer 2023-03-27 20:42:52 +02:00
Synchronizer.swift [#209] Add support for multiple instances of the SDKSynchronizer 2023-03-27 20:42:52 +02:00