-
Notifications
You must be signed in to change notification settings - Fork 622
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[EpochSync] Implement EpochSyncInfo validation #10031
Comments
|
…10109) #10031 #10031 (comment) 1. Header potentially needed for `EpochInfo` validation in `EpochSyncInfo` via `epoch_sync_data_hash` is actually in the next epoch. This header should be recorded in `EpochSyncInfo` too. 2. All data in `EpochSyncInfo` should be finalised. 3. `test_continuous_epoch_sync_info_population` is changed to reflect that `EpochSyncInfo` is only written after everything is finalised. P.S. I don't think it is the last change to `EpochSyncInfo` (this week).
…cInfo (#10120) First part of #10031 Adding support for `EpochInfo` validation through `epoch_sync_data_hash` in new epoch sync. Included in PR: - reconstruction of `BlockInfo` headers - calculation of `epoch_sync_data_hash` from `EpochSyncInfo` - bad attempt at good errors in all of that - test for both `BlockInfo` and `epoch_sync_data_hash` reconstruction Coming next: epoch sync testing tool, specifically command to test that reconstructed `epoch_sync_data_hash` matches recorded `epoch_sync_data_hash` on all real data in testnet/mainnet.
#10031 This PR is a step towards `EpochSyncInfo` validation that doesn't actually include any validation. I want to combine creation of necessary `StoreUpdate` with validation, because to validate `EpochSyncInfo` we need to rebuild `BlockMerkleTree` for every block in the epoch, but also not commit it if anything goes bad, and that is supported in `ChainStoreUpdate`. Creation of `StoreUpdate` is already a big change, so I want to do a separate PR for it. To test that we process `EpochSyncInfo` correctly I create a VERY hacky test, that should not be included in CI ever. Right now it works as intended, but if we change implementation of any sync, we will have to rewrite this test. I hope I will add epoch sync into `run_sync_step` flow soon enough for us to replace this test with something stable before we need to rewrite unstable test.
Tasks
The text was updated successfully, but these errors were encountered: