- 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
- 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
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
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
- 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
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
- 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
- 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
- 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
- There was a reset missing in the rewind() call. This method is a direct call affecting the state of the compact block processor but the ActionContext has been handled only in the synchronization pipeline. Manual reset was needed to reset the last enhanced height.
- tests added
- Removed deprecated zip-313 fee of 1000 Zatoshi
- default is now 10k zatoshi, the minimum defined by zip-317
[#1294] Remove all uses of the incorrect 1000-ZAT fee
- changelog update
- InternalSyncStatus as well as SyncStatus were extended with stopped state, this is needed to distinguish between upToDate and stopped via stop() method states as previously stopped state of block processor was mapped to upToDate
- Execution of any query in TransactionSQLDAO was not thread safe. Since all queries goes through execute() method, this is now using a lock
[#1281] Database is locked
- global lock used, all rust backend code accessing data DB is under lock
- transactionsqldao is also under same lock
[#1281] Database is locked
- refactor + fbDB locked as well
[#1281] Database is locked
- lock around scalars added
[#1281] Database is locked
- comments addressed
- scalarLocked helper implemented
- connection().run and .transition locked as well
[#1281] Database is locked
- db used so it's not called twice
[#1281] Database is locked
- AccountEntity protected via globalDBLock as well
This fixes an issue where the transaction index was incorrectly being
used to filter out transactions from the contents of the
`v_transactions` view, and updates the query to account for the fact
that both the block time and the transaction index may be NULL in the
results of this view.
- latestBlockHeight (chain tip) reported in the SynchronizerState to the clients is now updated every 10mins at most, typically with every sync run (10-30s)
- fully and max scanned heights update fixed
- new mocks provided and tests fixed
The improved performance provided by `shardtree` is sufficient to allow
100-block scan ranges throughout the sandblasted range, and limiting to
10 blocks results in significant overhead.
A future release will switch to an adaptive strategy which can
dynamically adjust download and scan range sizes based upon observed
output counts and scanning times to provide consistent throughput.