forked from MystenLabs/sui
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[sync] Checkpoint basic types, store, logic and messages (MystenLabs#…
…1100) * Initial waypoint logic * More flexible sequence_numbers * Added proper error type * Move waypoints to base types * Allow generic items * Added database for checkpoints * Logic to open the DB * Added watermark levels * Simplify interface for sequence numbers * Return latest checkpoint watermark * Added errors and test for errors * Added proposal logic to checkpoints * Use descriptive types * Integrate waypoints and diffs into checkpointing * Integrate name into proposal * Separate tests + key checkpoints by AuthorityName * Ser + Deser key structs * Define checkpoint structures for messaging * Added negative test * Added docs and proper Request / Response structures * Align authority checkpoint with new checkpoint types * Add authority information to checkpoint store * Use arc swap to cache proposals * Define handlers to deal with checkpoint related messages * Added more internal functions for checkpointing * Complete external handlers * Complete interface * Added tests to getting and setting checkpoint cert * Add licence * Persist locals * Add crash recovery test * Added an integration test for the whole flow * Link checkpointing to authority * Register new batches with the checkpoint mechanism * Added checkpoint command * Added checkpoint request / response endpoint * Added client side handlers for the checkpoint calls * Added start-up and batch follow tests * Added fragments + fixed tests * Skeleton to process fragments of checkpoints * More logic about fragments * Find large components from checkpoint fragments * Logic to inject fragments from consensus, and order fragments from consensus * Added consensus abstraction * Added more tests for fragment processing * Improve the fragment consensus output processing * Added extensive test showing the active flow * Added second checkpoint reconstruction strategy * Ergonomic generic errors * Protect the checkpoint logic using a mutex * Make tests more lenient * Make all checkpoint function &mut * Changes from the review Co-authored-by: George Danezis <[email protected]> Co-authored-by: Alberto Sonnino <[email protected]>
- Loading branch information
1 parent
acb2b97
commit 22c8012
Showing
33 changed files
with
4,433 additions
and
81 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.