Commit Graph

1182 Commits

Author SHA1 Message Date
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
Kris Nuttycombe 8f2962f060 Update the `zcash-light-client-ffi` dependency version. 2023-08-28 10:08:12 -06:00
Kris Nuttycombe c2b904e89e
Merge pull request #1214 from LukasKorba/1213-Server-update
[#1213] Server update
2023-08-28 08:35:16 -06:00
Lukas Korba 6f8f7eb66b [#1213] Server update
- endpoint updated to the latest and workable server
2023-08-28 15:38:21 +02:00
str4d 42214bd962
Merge pull request #1191 from zcash/darkside-bugfix-tree-sizes
Migrate to latest `darkside.proto` to help fix Darkside tests
2023-08-28 14:05:46 +01:00
Lukas Korba 9a82acbd5e
Merge pull request #1209 from LukasKorba/1208-Bitrise-fails-to-build
[#1208] Bitrise fails to build
2023-08-23 17:31:44 +02:00
Lukas Korba 5ac2121230 [#1208] Bitrise fails to build
- hotfix for explicit use of self in a Task, CI fails to build it without it
2023-08-23 17:29:42 +02:00
Jack Grigg 4c74e4d204 Migrate to latest `darkside.proto` to fix Darkside tests 2023-08-18 09:37:41 -04:00
Lukas Korba d446c6d336
Merge pull request #1201 from zcash/rust-scan-spend-fixes
Update Rust dependencies with scanning and spending bugfixes
2023-08-18 13:06:51 +02:00
Jack Grigg bc052872fd Update Rust dependencies with scanning and spending bugfixes
The previous FFI repo revisions no longer exist; commits between
87faf91096 and here will not build.
2023-08-17 21:47:27 -07:00
Lukas Korba a9f927393f
Merge pull request #1198 from LukasKorba/1196-Check-logging-level-priorities
[#1196] Check logging level priorities
2023-08-10 12:11:26 +02:00
Lukas Korba 5fa1af38f0 [#1196] Check logging level priorities
- the priorities for log levels have been updated

[#1196] Check logging level priorities

- changelog updated
2023-08-10 08:56:00 +02:00
Lukas Korba b92177ba8f
Merge pull request #1194 from zcash/dependabot/swift/github.com/apple/swift-nio-extras-1.19.0
Bump github.com/apple/swift-nio-extras from 1.12.1 to 1.19.0
2023-08-10 08:23:10 +02:00
dependabot[bot] 8a516620dc
Bump github.com/apple/swift-nio-extras from 1.12.1 to 1.19.0
Bumps [github.com/apple/swift-nio-extras](https://github.com/apple/swift-nio-extras) from 1.12.1 to 1.19.0.
- [Release notes](https://github.com/apple/swift-nio-extras/releases)
- [Commits](https://github.com/apple/swift-nio-extras/compare/1.12.1...1.19.0)

---
updated-dependencies:
- dependency-name: github.com/apple/swift-nio-extras
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-09 11:19:50 +00:00
Lukas Korba 84620ed747
Merge pull request #1187 from zcash/rust-checkpoint-and-memo-bugfixes
Update Rust dependencies with checkpoint and memo bugfixes
2023-08-09 13:16:16 +02:00
Jack Grigg cddf6891fd Update Rust dependencies with checkpoint and memo bugfixes
The previous FFI repo revisions no longer exist; commits between
87faf91096 and here will not build.
2023-08-08 12:30:28 +01:00
Lukas Korba 4d95f2cb9d
Merge pull request #1185 from LukasKorba/1184-FirstUnenhancedHeight-not-called
[#1184] FirstUnenhancedHeight not called
2023-08-04 11:08:07 +02:00
Lukas Korba ad99fdeae8 [#1184] FirstUnenhancedHeight not called
- firstUnenhancedHeight is now properly used
- fixed tests
2023-08-04 09:56:57 +02:00
Lukas Korba b9524ae1ab
Merge pull request #1183 from LukasKorba/1182-Update-checkpoints
[#1182] Update checkpoints
2023-08-03 11:48:18 +02:00
Lukas Korba a6d0f97351 [#1182] Update checkpoints
- mainnet & testnet checkpoints
2023-08-03 11:43:29 +02:00
Lukas Korba e4cea0c265
Merge pull request #1173 from zcash/update-rust-deps
Update Rust dependencies with bugfixes
2023-07-31 11:56:35 +02:00
Lukas Korba d6507b7b84 epk key refactor
epk -> ephemeralKey refactor done so offline tests in the SDK pass, therefore the CI passes as well
2023-07-31 11:47:29 +02:00
Jack Grigg ea3281edde Update Rust dependencies with bugfixes
The previous FFI repo revision no longer exists; commits between
87faf91096 and here will not build.
2023-07-31 09:56:40 +02:00
str4d 27b7e78bcc
Merge pull request #1163 from LukasKorba/1162-Remove-duplicated-SubtreeRoot
[#1162] Remove duplicated SubtreeRoot
2023-07-21 23:00:15 +01:00
Lukas Korba 5e8985d24e [#1162] Remove duplicated SubtreeRoot
- SubtreeRoot placeholder removed, we can rely on the generated one from the gprc
2023-07-21 13:52:58 +02:00
Lukas Korba 87faf91096
Merge pull request #1160 from zcash/fast-spendability
Migrate to Rust backend with fast spendability support
2023-07-21 09:25:24 +02:00
Lukas Korba dd5a54e88a
Merge pull request #1159 from LukasKorba/1157-Update-proto-files
[#1157] Update proto files
2023-07-20 13:22:38 +02:00
Jack Grigg 6eb39561ec Migrate to Rust backend with fast spendability support 2023-07-19 18:13:59 +01:00
Lukas Korba 0bc33addf0 [#1157] Update proto files
- compact_formats, service and Darkside proto files updated
- swift files generated
2023-07-19 08:15:26 +02:00
Lukas Korba 6bb054ba2f
Merge pull request #1156 from LukasKorba/1147-Update-cbp_state_machine-png
[#1147] Update cbp_state_machine_png
2023-07-05 13:28:48 +02:00
Lukas Korba 6687b914fd [#1147] Update cbp_state_machine_png
- uml diagram updated
- png file updated
2023-07-04 12:45:34 +02:00
Lukas Korba 8065aa718d
Merge pull request #1155 from tw0po1nt/1154-fix-inverted-sync-status-flags
Fix inverted sync status flags
2023-07-03 15:10:41 +02:00
Matthew Watt 52a80edbd9 Fix inverted sync status flags, and update internal structure to follow same, simpler if pattern 2023-07-02 15:32:47 -05:00
Lukas Korba d2b5341fa1
code_ql.yml deleted 2023-06-30 15:11:17 +02:00
Lukas Korba 015ed66873
Merge pull request #1151 from LukasKorba/1150-Remove-Travis-CI-yml-file 2023-06-29 21:01:58 +02:00
Lukas Korba 25642eb582 [#1150] Remove Travis CI yml file
- file removed
2023-06-29 19:26:32 +02:00
Lukas Korba 605af0417f
Merge pull request #1149 from zcash/feature/pre-dag
The feature branch consists of 3 main parts of the new synchronization management

- the State Machine being aware of previous state
- the new firstUnenhancedHeight API
- ClearCache being called at the beginning of the State Machine
2023-06-28 15:00:37 +02:00
Lukas Korba d930517348
Merge pull request #1148 from LukasKorba/1140-ClearCache-action-before-anything-starts
ClearCache action called right after the idle action, clearing out metadata so the sync process can be fully restored from the DB and live blockchain values only.
InternalSyncProgress removed
InternalSyncProgressStorage removed
Sync process control logic updated, controlled by latestScannedHeight and firstUnenhancedHeight only
ChecksBeforeSyncAction removed
Offline tests fixed
fixed injection of a wallet birthday, the sync range must start with wallet BD instead of lower bound
Network tests fixed
rewind actions extension in compact block processor added
DarkSideTests fixed
SyncRanges modified to be even less dependent on ranges, now it holds just 3 values (latest block height, latest scanned height if any, first unenhanced height if any), the rest is computed on the fly
SyncRanges struct not anymore, refactored to SyncControlData, holding just 3 mentioned values
code cleanup
2023-06-28 14:28:16 +02:00
Lukas Korba 34af1f1611 [#1140] ClearCache action before anything starts
- draft

[#1140] ClearCache action before anything starts

- ClearCache action right after the idle action, clearing out metadata so the sync process can be fully restored from the DB and live blockchain values only.
- InternalSyncProgress removed
- InternalSyncProgressStorage removed
- Sync process control logic updated, controlled by latestScannedHeight and firstUnenhancedHeight only
- cleaned up unused code

[#1140] ClearCache action before anything starts

- ChecksBeforeSyncAction removed
- Offline tests fixed

[#1140] ClearCache action before anything starts

- fixed injection of a wallet birthday, the sync range must start with wallet BD instead of lower bound

[#1140] ClearCache action before anything starts

- Network tests fixed
- DarkSideTests partially fixed

[#1140] ClearCache action before anything starts

- rewind actions extension in compact block processor added

[#1140] ClearCache action before anything starts

- draft

[#1140] ClearCache action before anything starts

- DarkSideTests fixed

[#1140] ClearCache action before anything starts

- SyncRanges modified to be even less dependent on ranges, now it holds just 3 values (latest block height, latest scanned height if any, first unenhanced height if any), the rest is computed on the fly

[#1140] ClearCache action before anything starts

- SyncRanges struct not anymore, refactored to SyncControlData, holding just 3 mentioned values

[#1140] ClearCache action before anything starts

- cleanup

[#1140] ClearCache action before anything starts (#1148)

- TODO solved, the UTXOs fetcher doesn't work with range anymore, therefore reporting 100%
2023-06-28 12:34:41 +02:00
Lukas Korba 90a9e0057d
Merge pull request #1146 from LukasKorba/1144-Make-State-Machine-context-aware-of-previous-state
[#1144] Make State Machine context aware of previous state
2023-06-20 11:57:06 +02:00
Lukas Korba 9984e7fd0d
Merge pull request #1145 from LukasKorba/1141-Implement-getLastEnhancedHeight
[#1141] Implement firstUnenhancedHeight
2023-06-20 11:56:44 +02:00
Lukas Korba f1c4947a2c [#1141] Implement firstUnenhancedHeight
- Transaction repository extended to provide first unenhanced height or nil

[#1141] Implement firstUnenhancedHeight (#1145)

- tests and mocks extended to be aware of firstUnenhancedBlock
2023-06-15 17:11:09 +02:00