Closes#455
this reverts queue priority changes from commit `a5d0e447748257d2af5c9101391dd05a5ce929a2` since we detected it might prevent downloads to be scheduled in a
timely fashion
Co-authored-by: pacu <pacu@pacus-MacBook-Pro.local>
0.16.5-beta
- [#449] Use CompactBlock Streamer download instead of batch downloads (#451)
This increases the speed of downloads significantly while reducing the memory footprint.
- [#435] thread sanitizer issues (#448)
Issues related to Thread Sanitizer warnings
Closes#452
* [#449] Use CompactBlock Streamer download instead of batch downloade
This commit implements a small buffer for the stream download operation
so it does not store a block at a time and does it in batches instead.
Closes#449
* Fix tests
* PR Suggestions
* [#435] this commit attempts to fix thread being starved dues to inversion
of priorities where a .userInitiated thread ends up depending on a lower
priority one on GRPC.
* Add an Synchronizer State struct to report state at once
* Make CompactBlockProcessor's downloader available internally for SDKSynchronizer
remove duplicate handling of processor finished
* PR Suggestions
This commit changes the way walletBirthday is stored in the synchronizer and intinitializer. Wallets syncing from creation/restore would have a problem where the birthday stored in the Blocks Table would be the one corresponding to the chekpoint found a the time of syncing, but the compact block downloader would start downloading blocks from the height provided by the user when the wallet was restored. This would cause a `validationFailed` error at the height checkpoint.height + 1 and restart downloading from checkpoint.height and then resume correctly.
Darksidewalletd test setUp was changed re be able to reproduce the error since injection guaranteed correctness and it was not possible to reproduce the error with it since the wallet birthday height provided matched exactly with the checkpoint on disk and that's the only case that avoided this error.
Closes#444
this commit splits the batch sizes so that wallets can be tweaked to either scan or download more or less blocks depending of the CompactBlockProcessor.Config used. Defaults are provided
This also bumps up the default time out for GRPC services to 30 seconds to unary calls and 100 seconds to streaming calls
Also, adds some documentation formatting that won't hurt
PR Suggestions
PR Suggestions
when sending.
This happens when clients using cocoapods update to 0.15.0-beta through
0.16.1-beta. SPM clients not affected since they all use SQLite Swift 0.13
the issue is with clients using SQLite swift 0.12
Closes#419
This eliminates the keepalive settings since they seem to clash with defaults
on ligthwalletd and the client gets rejected earlier than needed.
This commit makes Renames `WalletBirthday` to `Checkpoint` and
makes Checkpoint an internal type. Public ocurrences of this
type is replaced by `BlockHeight` (Int) and then retrieval of the
Checkpoint is deferred to the appropiate place in the code
Add an extension method to `BlockHeight` to get latest checkpoint
height present in the SDK's bundle
PR Suggestions:
Add test for integer overflow on JSON
File renamed from WalletBirthday to Checkpoint
* [#397] Checkpoint format that supports NU5 TreeStates
Closes#397
This commit adds `orchardTree` value to WalletBirthday and renames
the value `tree` to `saplingTree`. It also modifies the checkpoint
JSON files accordingly. It adds `.testnet` and `.mainnet` checkpoints
for orchard activation height.
* rename `sapling-checkpoints` to `checkpoints`
Closes#401
This commit changes the way Codable in implemented for Zatoshi and PendingTransaction.
SQLite attempts to decode Custom Types as JSONStrings inside a TEXT column whereas Zatoshi only needs to be an INTEGER that can be treated as an Int64 value
`ConfirmedTransaction` entity is not affected because it is already deserialized
in a custom fashion whereas `PendingTransaction` was relying on `Codable` and
`CodingKey`.
Closes#381
This commit brings a Zatoshi type developed on the Secant project,
helper classes like Clamped and tests.
Zatoshi has been incorporated as a Codable type for SQLite Swift
to allow serialization into the pending database.
FIXES on Demo App
fix comments
closes#394
This commit updates the generated files with the latest plugins released
along this version of the GRPC library.
`pod lib lint --verbose --allow-warnings` passed
* [#382] ZIP-302 compliant memo type
Test Implemented and Passed
Move struct to the SDK
Make even more type safe by Wrapping Strings into TextMemo
PR Suggestions
PR Suggestions
PR suggestions
* PR suggestions to make all cases explicit
Closes#326
Implements loading checkpoints from the bundle the same way the android SDK does.
* Add checkpoint files
* Add checkpoint files as resources to package
* Remove stencil files
* Update wallet birthday methods to use bundled checkpoints
* [clean up] Fix test build failure
* Add Cocoapods support
* Fix for behaviour across SPM and Cocoapods
* Add test for checkpoint retrieval
* Use latest GRPC v1.x
* update checkpoint files to match android sdk
Closes#351
In order to make the repo's history consistent going forwards,
I've added some commit message guidelines.
The core of the suggestions were taken from this article:
https://cbea.ms/git-commit/#why-not-how
The main idea is that the repo is the source of truth and helps
both readers and maintainers to understand it better.
The rationale behind the title structure is that a clean
changelog can be manufacture by running `git log --oneline`
and a little bit of editing.
Small suggested typo fixes
Small suggested content changes
Included PR suggestions to shorten commits' first line