Commit Graph

1173 Commits

Author SHA1 Message Date
Lukas Korba af595e60e6 Cleanup and comment providing context
- adding a context so it's clear why division by 0 is not a concern
- pending transactions removed from the DemoApp's UI, #1260 is a followup
2023-09-13 11:57:21 +02:00
Lukas Korba d5d4664bf5 Rewind when continuity error
- when isContinuityError occurred, the next action  should be rewind, fixed
2023-09-13 09:54:26 +02:00
Lukas Korba 4b45c15a96 Comments addressed
- all comments from the review (round 1) resolved
2023-09-13 09:24:26 +02:00
Kris Nuttycombe 2ac984a0dd Update zcash-light-client-ffi to version 0.4.0-rc.2 2023-09-12 10:06:25 -06:00
Lukas Korba 3fbff96bc7
Merge pull request #1246 from nuttycom/feature/DAG-sync-release-prep
Update zcash-light-client-ffi dependency for release candidate prep.
2023-09-12 07:51:51 +02:00
Kris Nuttycombe 457cc9a9e7 Update zcash-light-client-ffi to fix an error with checkpoint depths.
See [zcash/librustzcash#963]
2023-09-11 19:16:17 -06:00
Kris Nuttycombe e28035292f Release 2.0.0-rc1
* Updates to `zcash-light-client-ffi 0.4.0-rc.1`
* Makes some cleanup updates to the CHANGELOG; a complete changelog will
  be prepared for the 2.0.0 final release.
2023-09-11 19:10:55 -06:00
Lukas Korba 51c2c33f12
Merge pull request #1256 from LukasKorba/1255-Changelog-tweak
[#1255] Changelog tweak
2023-09-11 12:00:01 +02:00
Lukas Korba a42fc87d73
Merge pull request #1254 from LukasKorba/1240-Remove-previous-progress-reporting
[#1240] Remove previous progress reporting
2023-09-11 11:59:51 +02:00
Lukas Korba 945f25a181 [#1255] Changelog tweak
- cleanup and fixes
2023-09-11 09:37:47 +02:00
Lukas Korba fdcb52c088 [#1240] Remove previous progress reporting
- CompactBlockProgress has been update to use syncProgress only
- CompactBlockProgressUpdate removed
- BlockProgress removed
- enhance and fetch progresses removed
- progressPartialUpdate refactored to syncProgress
- tests updated
2023-09-11 09:30:44 +02:00
Lukas Korba 65d0e987f6
Merge pull request #1253 from LukasKorba/1252-NetworkTests-fails-to-run
[#1252] NetworkTests fails to run
2023-09-11 09:30:19 +02:00
Lukas Korba a91df535a5
Merge pull request #1251 from LukasKorba/1249-Fix-linter-issues
[#1249] Fix linter issues
2023-09-11 09:30:08 +02:00
Lukas Korba f3f519bfea [#1252] NetworkTests fails to run
- NetworkTests are buildable and can run not crashing due to lack of mocked properties
- most tests have been fixed and pass again
2023-09-11 08:34:09 +02:00
Lukas Korba ec8aca2890 [#1249] Fix linter issues
- all issued fixed, one wasn't clear so new ticket is created to follow up and TODO added
2023-09-11 08:03:16 +02:00
Lukas Korba 2da8dce372
Merge pull request #1248 from LukasKorba/1242-Fix-unit-tests-after-SBS-changes 2023-09-10 19:55:25 +02:00
Lukas Korba 2f521d7857 [#1242] Fix unit tests after SBS changes
- DarkSide, Network and Performance tests were modified to be buildable again
2023-09-10 08:43:33 +02:00
Lukas Korba 3f817e1301
Merge pull request #1245 from LukasKorba/1244-Checkpoints-update
[#1244] Checkpoints update
2023-09-08 18:41:26 +02:00
Lukas Korba 36329fe818 [#1244] Checkpoints update
- mainnet + testnet checkpoints updated
2023-09-08 18:33:44 +02:00
Lukas Korba 0d56e4fcc6
Merge pull request #1241 from LukasKorba/1236-Use-of-recoverUntil
[#1236] Use of recoverUntil
2023-09-08 17:41:36 +02:00
Lukas Korba dc5cbd8dec [#1236] Use of recoverUntil
- SDKSynchronizer's public API prepareWith() now requires a parameter WalletInitMode
- tests fixed
- changelog updated
2023-09-08 15:44:48 +02:00
Lukas Korba db23944415
Merge pull request #1239 from LukasKorba/1238-Report-sync-progress-with-the-new-getScanProgress
[#1238] Report sync progress with the new getScanProgress
2023-09-08 15:44:17 +02:00
Lukas Korba 60780f4c83 [#1238] Report sync progress with the new getScanProgress
- getScanProgress used for reporting of the syncing progress

[#1238] Report sync progress with the new getScanProgress

- comment added

[#1238] Report sync progress with the new getScanProgress (#1239)

- TODOs + offline tests fixed
2023-09-08 12:19:54 +02:00
Lukas Korba 3cf1f23e8e
Merge pull request #1237 from LukasKorba/1232-Implement-createAccount
[#1232] Implement createAccount
2023-09-08 09:54:01 +02:00
Lukas Korba b8b0f2927b [#1232] Implement createAccount
- create account draft

[#1232] Implement createAccount

- TODO for the recoverUntil parameter

[#1232] Implement createAccount

- force unwrap solved

[#1232] Implement createAccount

- ; removed
2023-09-08 08:18:17 +02:00
Lukas Korba 7631810979
Merge pull request #1231 from LukasKorba/1230-Remove-linear-sync-from-the-SDK
[#1230] Remove linear sync from the SDK
2023-09-08 07:41:17 +02:00
Lukas Korba d956e9940b [#1230] Remove linear sync from the SDK
- concept of linear syncing fully removed from the SDK, it's fully replaced with Spend-before-Sync
- BlockDAO - table blocks is no longer used, removed from the SDK and all it's associated getLastBlocks/ScannedHeights as with it
- concept of pending transactions removed from the SDK
- unit tests refactored
2023-09-08 07:40:08 +02:00
Lukas Korba 18141e6e4b
Merge pull request #1235 from nuttycom/rust_bugfix_missing_tip
Update Rust dependencies with bugfixes.
2023-09-08 07:39:37 +02:00
Kris Nuttycombe 6c3dd362b6 Update Rust dependencies with bugfixes.
The previous `zcash-light-client-ffi` revisions should be treated as
ephemeral; they will be removed upon creation of the SDK 2.0.0 release
candidate.
2023-09-07 23:16:26 -06:00
Lukas Korba 0b94809c45
Merge pull request #1234 from zcash/rust-bugfixes
Update Rust dependencies with bugfixes
2023-09-07 21:17:34 +02:00
Jack Grigg 01436c9a93 Update Rust dependencies with bugfixes
The previous FFI repo revisions no longer exist; commits between
87faf91096 and here will not build.
2023-09-07 19:54:12 +01:00
Lukas Korba 3c97e5cca9 [#1227] Check continuation of UpdateChainTip repeated call
- My assumption was right, the way State Machine is done requires .celarCache to be called with every "restart"
- I was able to reproduce errors when clearCache wasn't called so the updateChainTipAction needed to be updated to prepare clean conditions for the scan suggest ranges
- tests updated
2023-09-07 13:23:50 +02:00
Lukas Korba 7e2e787aef [#1223] Requested height [over latestheight] does not exist in the block cache
- the end of scan range is now properly filled

[#1223] Requested height [over latestheight] does not exist in the block cache

- the end of scan range is now properly filled
- unit tests for this change, checking if range.upperBound is set as expected

[#1223] Requested height [over latestheight] does not exist in the block cache

- code cleanup
2023-09-07 13:23:50 +02:00
Lukas Korba 569741e0a4 [#1179] Handle false positive getSubtreeRoots when connectivity is down
- when getSubtreeRoots call fails on timeout, the connectivity is not present and the action must be terminated (throw) an error, this way when the connectivity is back, the State Machine starts over and getSubtreeRoots get a chance to properly decide if SBS is supported

[#1179] Handle false positive getSubtreeRoots when connectivity is down

- unit test for the timeout getSubtreeRoot added

[#1179] Handle false positive getSubtreeRoots when connectivity is down (#1222)

- warning fixed
2023-09-07 13:23:50 +02:00
Lukas Korba 95536638e5 [#1176] Cover Spend before Sync with tests
- WIP

[#1176] Cover Spend before Sync with tests

- next batch of updates

[#1176] Cover Spend before Sync with tests

- last batch of fixes and new tests

[#1176] Cover Spend before Sync with tests

- package.resolved updated

[#1176] Cover Spend before Sync with tests (#1212)

- added tests for brand new actions related Spend before Sync
- RewindActionTests
- UpdateChainTipActionTests
- UpdateSubtreeRootsActionTests
- ProcessSuggestedScanRangesActionTests
2023-09-07 13:23:50 +02:00
Lukas Korba 80eb3b1c8d [#1181] Correct computation of progress for Spend before Sync
- the computation of progress changed, the total range is computed, that way it works for any kind of sync algorithm
- the progress depends on finished scan action, whenever it processes some blocks, it's counted up
- the final progress is a ratio between these new values
2023-09-07 13:23:48 +02:00
Lukas Korba cbcbf61d9a [#1165] draft
draft

[#1165] Step 1 - Download note commitment tree data from lightwalletd

- code cleanup after draft

[#1165] Step 1 - Download note commitment tree data from lightwalletd

- UpdateSubtreeRootsAction added, ensuring the roots are downloaded and stored in the DB

[#1165] Step 1 - Download note commitment tree data from lightwalletd

- added ZcashError for putSaplingSubtreeRoots failure
- cleaned up action

[#1165] Step 1 - Download note commitment tree data from lightwalletd

- demo app config temporarily updated to Nighthawk server

[#1165] Step 1 - Download note commitment tree data from lightwalletd

- file header updated

[#1165] Step 1 - Download note commitment tree data from lightwalletd (#1174)

- demo app config cleaned up

[#1165] Step 1 - Download note commitment tree data from lightwalletd (#1174)

- offline tests fixed
2023-09-07 13:23:48 +02:00
Lukas Korba b86401ad34 [#1215] Checkpoints and readme update related SBS
- checkpoints updated
- readme section for the SBS added
2023-09-07 13:23:47 +02:00
Lukas Korba cda3d6f6cc [#1206] Frequent call of update chain tip
- The State Machine has been slightly updated so it measures time when it lastly updated chain tip. If it happened more than 10mins ago, it calls the .updateChainTip action once again before the download-scan-enhance loop continues
- updated unit test

[#1206] Frequent call of update chain tip (#1207)

- whenever updateChainTip is called, it's followed by suggestScanRanges logic
2023-09-07 13:23:47 +02:00
Lukas Korba d9f92ec7a9 [#1181] Correct computation of progress for Spend before Sync
- the computation of progress changed, the total range is computed, that way it works for any kind of sync algorithm
- the progress depends on finished scan action, whenever it processes some blocks, it's counted up
- the final progress is a ratio between these new values
2023-09-07 13:23:47 +02:00
Lukas Korba 1205f402c6 [#1180] Handle production GetSubtreeRootsArg
- the value 65536 set only for testnet
2023-09-07 13:23:47 +02:00
Lukas Korba 9676c7fc67 [#1189] Implement continuity check and RewindAction
- RewindAction added
- rust's isContinuityError() emulated on iOS side
- verify scan range is now properly handled with rewind as well as check for continuity error

[#1189] Implement continuity check and RewindAction (#1195)

- TODO cleanup
2023-09-07 13:23:47 +02:00
Lukas Korba c894f46ce9 [#1188] Working prototype of SbS
- cleaned up the code
- ScanAlgorithm enum added to the SDK
- preferred sync algorithm set to .linear as default but can be changed to Spend before Sync as the Initializer.init parameter

[#1188] Working prototype of SbS

- error codes for failure states in the SbS State Machine changes added

[#1188] Working prototype of SbS (#1192)

- offline tests fixed
2023-09-07 13:23:47 +02:00
Lukas Korba 88019ebff1 [#1169] Step 5 -Get the suggested scan ranges from the wallet database
- initial action in place
- verify loop WIP

[#1169] Step 5 -Get the suggested scan ranges from the wallet database

- firstUnenhancedHeight fix

[#1169] Step 5 -Get the suggested scan ranges from the wallet database

- first working version implemented
- download, scan and enhance actions are dependent on the context values only
2023-09-07 13:23:47 +02:00
Lukas Korba 27e417a669 [#1167] Step 3 - Download chain tip metadata from lightwalletd
- update chain tip action added

[#1167] Step 3 - Download chain tip metadata from lightwalletd

- roots removed from the ActionContext

[#1167] Step 3 - Download chain tip metadata from lightwalletd

- fallback to linear sync until next step is implemented

[#1167] Step 3 - Download chain tip metadata from lightwalletd

- offline tests fixed
2023-09-07 13:23:47 +02:00
Lukas Korba c1fd1dfbc9 [#1165] draft
draft

[#1165] Step 1 - Download note commitment tree data from lightwalletd

- code cleanup after draft

[#1165] Step 1 - Download note commitment tree data from lightwalletd

- UpdateSubtreeRootsAction added, ensuring the roots are downloaded and stored in the DB

[#1165] Step 1 - Download note commitment tree data from lightwalletd

- added ZcashError for putSaplingSubtreeRoots failure
- cleaned up action

[#1165] Step 1 - Download note commitment tree data from lightwalletd

- demo app config temporarily updated to Nighthawk server

[#1165] Step 1 - Download note commitment tree data from lightwalletd

- file header updated
2023-09-07 13:23:47 +02:00
Lukas Korba 8f7294c3e1 [#1165] draft
draft

[#1165] Step 1 - Download note commitment tree data from lightwalletd

- code cleanup after draft

[#1165] Step 1 - Download note commitment tree data from lightwalletd

- UpdateSubtreeRootsAction added, ensuring the roots are downloaded and stored in the DB

[#1165] Step 1 - Download note commitment tree data from lightwalletd

- added ZcashError for putSaplingSubtreeRoots failure
- cleaned up action

[#1165] Step 1 - Download note commitment tree data from lightwalletd

- demo app config temporarily updated to Nighthawk server

[#1165] Step 1 - Download note commitment tree data from lightwalletd

- file header updated

[#1165] Step 1 - Download note commitment tree data from lightwalletd (#1174)

- demo app config cleaned up

[#1165] Step 1 - Download note commitment tree data from lightwalletd (#1174)

- offline tests fixed
2023-09-07 13:23:47 +02:00
Lukas Korba 2302dc4b6e
Merge pull request #1229 from zcash/rust-account-birthdays
Update Rust dependencies with account birthdays and scan progress
2023-09-07 09:28:02 +02:00
Jack Grigg e7621204e5 Update Rust dependencies with account birthdays and scan progress
The previous FFI repo revisions no longer exist; commits between
87faf91096 and here will not build.

Update Rust dependencies with account birthdays and scan progress

- fixes for SampleApp
2023-09-07 09:26:48 +02:00
Lukas Korba e389af4c60
Merge pull request #1210 from nuttycom/ffi-update
Update the `zcash-light-client-ffi` dependency version.
2023-08-31 07:54:06 +02:00