Commit Graph

22 Commits

Author SHA1 Message Date
Francisco Gindre fef4bccce8
[#446] Release 0.16.4-beta (#447)
Closes #446
2022-07-29 11:41:14 -03:00
Francisco Gindre 3be694c920
[#444] Syncing Restarts to zero when the wallet is wiped and synced from zero in one go. (#445)
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
2022-07-29 10:33:23 -03:00
Francisco Gindre 96520aeb7c
[#440] Split constants for Download Batches and Scanning Batches (#441)
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
2022-07-29 10:07:08 -03:00
Francisco Gindre d877a9aee2
[#436] Add checkpoint with a lower interval on mainnet (#437)
Closes #436
2022-07-26 10:49:27 -03:00
Francisco Gindre 4e260419e1
[#428] make some helpers publicly accessible (#429)
Closes #428}

Helpers that were internal to Secant now are missing when we moved them to ZcashLightClientKit. This commit fixes that
2022-07-15 16:54:25 -03:00
Francisco Gindre 470775dfaf
- [#419] Fix Unavailable Transport 14 when attempting to sync (#426)
Closes #419

This eliminates the keepalive settings since they seem to clash with defaults
on ligthwalletd and the client gets rejected earlier than needed.
2022-07-14 20:19:46 -03:00
Francisco Gindre f2ed1f01ae
- [#422] Make Zatoshi extensions of `NSDecimalNumber` public (#423)
Closes #422

This helps Secant iOS compile since it relies on these APIs that were
once internal to the app module
2022-07-14 17:55:16 -03:00
Francisco Gindre e131ccbd07
[#392] Synchronizer error 8. when syncing. (#413)
Closes #392

This commit localizes SynchronizerError to better support Error messages
2022-07-12 17:28:16 -03:00
Francisco Gindre 2fcfa6fdbe
[#398] Make WalletBirthday an internal type (#414)
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
2022-07-12 16:36:12 -03:00
Francisco Gindre aff3a9563b
[#411] add Fresh checkpoints for release 0.16.0-beta (#412) 2022-07-11 15:54:09 -03:00
Francisco Gindre b6bb17ab8b
[#406] some BirthdayTests fail for MacOS target (#410)
Closes #406

This commits differences how Checkpoints are retrieved from the resource bundle
depending on the target platform.
2022-07-11 09:17:22 -03:00
Francisco Gindre 79dbe8f387
[#404] Configure GRPC KeepAlive according to docs (#409)
Closes #404

This commit updates LightWalletGRPCService conform to latest
Swift-GRPC recommendations on how to set Connections KeepAlive
parameters.

See https://github.com/grpc/grpc-swift/blob/main/docs/keepalive.md
2022-07-08 16:49:24 -03:00
Francisco Gindre 912abe0128
[#397] Checkpoint format that supports NU5 TreeStates (#399)
* [#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`
2022-06-28 16:17:10 -03:00
Francisco Gindre c7a27c0b86
[#401] DecodingError when refreshing pending transactions (#402)
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`.
2022-06-27 12:51:13 -03:00
Francisco Gindre b9ae012e09
[#381] Move Zatoshi and Amount Types to the SDK (#396)
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
2022-06-22 16:45:37 -03:00
Francisco Gindre 516d605d22
[#394] Update swift-grpc to 1.8.0 (#395)
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
2022-06-16 12:37:16 -03:00
Francisco Gindre 8b3ca8dc34
[#382] ZIP-302 compliant memo type (#385)
* [#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
2022-05-26 18:06:02 -03:00
Francisco Gindre 5bb1750b1f
[#383] Fix Darksidewalletd tests failing to retrieve a checkpoint (#386) 2022-05-17 15:29:27 -03:00
dh-ecc 80e6ec200b
[#326] Load Checkpoint files from bundle.
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
2022-05-05 18:30:17 -03:00
Francisco Gindre 0c6203fefb
[#367] Darksidewalletd for testing `shield_funds` (#368)
pull from branch non-consensus-changes-libzcashlc

Patch Shield funds test.

Closes #367
2022-04-29 09:19:18 -03:00
Francisco Gindre f3150072f5 Expose property nullProgress for ECC Reference Wallet
Update podspec

Changelog

bump swift version

use libzcashlc 0.0.2
2022-03-11 15:22:00 -03:00
Daniel Haight 86d1257ab5 Remove dependecy on rust sources 2022-02-28 17:03:20 +00:00