banking_stage: do not insert legacy vote ixs, refactor & unstaked#2888
Conversation
|
The Firedancer team maintains a line-for-line reimplementation of the |
|
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. |
| ) | ||
| } | ||
|
|
||
| pub fn is_tower_sync(&self) -> bool { |
There was a problem hiding this comment.
@lidatong FYI we add a function here in case you need to replicate it on the FD side.
There was a problem hiding this comment.
if these instructions need to be 1:1 for FD's implementation, could we just directly use match where we need in our client? It's not really part of the program, just our filtering logic, right?
There was a problem hiding this comment.
fair point, then we don't have the maintenance burden of exposing it as part of the public API either.
| ) | ||
| } | ||
|
|
||
| pub fn is_tower_sync(&self) -> bool { |
There was a problem hiding this comment.
if these instructions need to be 1:1 for FD's implementation, could we just directly use match where we need in our client? It's not really part of the program, just our filtering logic, right?
8f5e62c to
82a0171
Compare
) * banking_stage: do not insert legacy vote ixs, refactor & unstaked * pr feedback: use matches instead of separate fn (cherry picked from commit 1334fb5) # Conflicts: # core/src/banking_stage/latest_unprocessed_votes.rs
…ed (backport of #2888) (#2901) * banking_stage: do not insert legacy vote ixs, refactor & unstaked (#2888) * banking_stage: do not insert legacy vote ixs, refactor & unstaked * pr feedback: use matches instead of separate fn (cherry picked from commit 1334fb5) # Conflicts: # core/src/banking_stage/latest_unprocessed_votes.rs * fix conflicts * rekey feature to indicate it must not be activated --------- Co-authored-by: Ashwin Sekar <ashwin@anza.xyz> Co-authored-by: Ashwin Sekar <ashwin@solana.com>
…za-xyz#2888) * banking_stage: do not insert legacy vote ixs, refactor & unstaked * pr feedback: use matches instead of separate fn
Problem
The feature
deprecate_legacy_vote_ixsdisallows all previous vote instructions in the vote program other than theTowerSyncvariants. Banking stage should also filter these out.Summary of Changes
When the feature is active, do not insert votes with these legacy instructions, also some small refactoring of the weighted shuffle and unstaked check.