blockstore: scaffolding for chained merkle root conflict detection#719
Conversation
| let candidate_erasure_set = ErasureSetId::new(slot, candidate_fec_set_index); | ||
| let candidate_erasure_meta: ErasureMeta = deserialize(candidate_erasure_meta.as_ref())?; | ||
|
|
||
| // Add this candidate to erasure metas to avoid blockstore lookup in future |
There was a problem hiding this comment.
This is the only diff from the copy/paste in order to address this comment: #102 (comment)
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #719 +/- ##
=========================================
- Coverage 81.9% 81.9% -0.1%
=========================================
Files 851 851
Lines 230722 230929 +207
=========================================
+ Hits 189103 189159 +56
- Misses 41619 41770 +151 |
| } | ||
|
|
||
| pub mod chained_merkle_conflict_duplicate_proofs { | ||
| solana_sdk::declare_id!("chaie9S2zVfuxJKNRGkyTDokLwWxx6kD2ZLsqQHaDD8"); |
There was a problem hiding this comment.
The risk of including the feature key here is that it will be misleading what minimum version is needed when deciding to activate the feature. ie. someone needs to recall what latest commit changed the associated logic.
Might be better to use a phony key for now and rekey once all the logic is in.
There was a problem hiding this comment.
good point, I put in a phoney key for now.
Will also create the feature gate issue on the final PR to make it clear.
|
Backports to the beta branch are to be avoided unless absolutely necessary for fixing bugs, security issues, and perf regressions. Changes intended for backport should be structured such that a minimum effective diff can be committed separately from any refactoring, plumbing, cleanup, etc that are not strictly necessary to achieve the goal. Any of the latter should go only into master and ride the normal stabilization schedule. Exceptions include CI/metrics changes, CLI improvements and documentation updates on a case by case basis. |
) * blockstore: scaffolding for chained merkle root conflict detection * pr feedback: use dummy feature key until final plumbing (cherry picked from commit 411fdc9) # Conflicts: # sdk/src/feature_set.rs
) * blockstore: scaffolding for chained merkle root conflict detection * pr feedback: use dummy feature key until final plumbing (cherry picked from commit 411fdc9) # Conflicts: # sdk/src/feature_set.rs
) * blockstore: scaffolding for chained merkle root conflict detection * pr feedback: use dummy feature key until final plumbing (cherry picked from commit 411fdc9) # Conflicts: # sdk/src/feature_set.rs
) * blockstore: scaffolding for chained merkle root conflict detection * pr feedback: use dummy feature key until final plumbing (cherry picked from commit 411fdc9) # Conflicts: # sdk/src/feature_set.rs
…tion (backport of #719) (#729) * blockstore: scaffolding for chained merkle root conflict detection (#719) * blockstore: scaffolding for chained merkle root conflict detection * pr feedback: use dummy feature key until final plumbing (cherry picked from commit 411fdc9) # Conflicts: # sdk/src/feature_set.rs * fix feature_set conflicts --------- Co-authored-by: Ashwin Sekar <ashwin@anza.xyz> Co-authored-by: Ashwin Sekar <ashwin@solana.com>
…tion (backport of anza-xyz#719) (anza-xyz#729) * blockstore: scaffolding for chained merkle root conflict detection (anza-xyz#719) * blockstore: scaffolding for chained merkle root conflict detection * pr feedback: use dummy feature key until final plumbing (cherry picked from commit 411fdc9) # Conflicts: # sdk/src/feature_set.rs * fix feature_set conflicts --------- Co-authored-by: Ashwin Sekar <ashwin@anza.xyz> Co-authored-by: Ashwin Sekar <ashwin@solana.com>
Split from #102
The scaffolding needed to detect chained merkle root conflicts for sending duplicate proofs:
Contributes to solana-labs#34897