-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat!: state checkpoint sync, fixes, epoch change (#1067)
Description --- feat: adds state sync fix: remove block sync feat: start new chain at each epoch fix: fixes bug that drops consensus messages (inbound messaging not cancel safe) fix: scope JMT to epoch/shard fix: only emit epoch changed event once scanning to tip has completed fix: swarm mines more initial blocks when registering many vns fix: bug that caused block signature to disappear after unparking the block feat: adds state checkpoint call test: fix epoch change and state sync cucumbers Motivation and Context --- State sync fetches state transitions and applies them to the local state db. Syncing historical blocks is not feasible across changing shards/epochs and this is removed in this PR. Closes #1070 Closes #1037 Outstanding items: - verify checkpoint on sync - construct a "tiered" state merkle root consisting of presharded JMT merkle roots applicable to the current shard space. - leader failure due to race condition when proposal for end of epoch is received before all validators have scanned to the base layer tip How Has This Been Tested? --- Manually: 1. 2 validators, mine to next epoch 2. 2 validators, send transactions, delete data of one vn and resync 3. 4 validators, delete data from one validator, leader failures, epoch change, resync validator 4. [TODO] new validator joining network 5. [TODO] multishard test What process can a PR reviewer use to test or verify this change? --- Swarm, mine to next epoch Breaking Changes --- - [ ] None - [x] Requires data directory to be deleted - [x] Other - Please specify
- Loading branch information
Showing
139 changed files
with
4,714 additions
and
2,552 deletions.
There are no files selected for viewing
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
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.