Skip to content

SIMD-0185: vote-program: add vote state v4 feature gate#8290

Merged
buffalojoec merged 3 commits intoanza-xyz:masterfrom
buffalojoec:vote-state-v4-feature-gate
Oct 17, 2025
Merged

SIMD-0185: vote-program: add vote state v4 feature gate#8290
buffalojoec merged 3 commits intoanza-xyz:masterfrom
buffalojoec:vote-state-v4-feature-gate

Conversation

@buffalojoec
Copy link
Copy Markdown

Problem

After #8191, the Vote program has the necessary plumbing to support a "switch" over to vote state v4 based on a feature gate. That feature gate has not been added yet, but it's time to add it.

With the new feature gate, the program effectively becomes dynamic over the v4 feature gate, continuing to convert vote accounts to v3 as before, but able to switch to v4 as the target version when the feature is activated.

Note there are a number of areas around the codebase that either depend on or test with vote state. As such, many of these areas require refactoring to support/test vote state v4 integration.

Summary of Changes

Completes the implementation of VoteStateV4 in the Vote program by first refactoring the remaining tests in vote_processor, then adding the new feature gate that will toggle on support for vote state v4.

@mergify
Copy link
Copy Markdown

mergify Bot commented Oct 1, 2025

The Firedancer team maintains a line-for-line reimplementation of the
native programs, and until native programs are moved to BPF, those
implementations must exactly match their Agave counterparts.
If this PR represents a change to a native program implementation (not
tests), please include a reviewer from the Firedancer team. And please
keep refactors to a minimum.

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Oct 16, 2025

Codecov Report

❌ Patch coverage is 97.95918% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 83.1%. Comparing base (4a5aa1e) to head (95304dc).

Additional details and impacted files
@@           Coverage Diff            @@
##           master    #8290    +/-   ##
========================================
  Coverage    83.1%    83.1%            
========================================
  Files         849      849            
  Lines      368644   368877   +233     
========================================
+ Hits       306667   306870   +203     
- Misses      61977    62007    +30     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@buffalojoec buffalojoec marked this pull request as draft October 16, 2025 02:59
@buffalojoec
Copy link
Copy Markdown
Author

buffalojoec commented Oct 16, 2025

Shifting to a draft until:

@jstarry
Copy link
Copy Markdown

jstarry commented Oct 16, 2025

Can we add the SIMD number in the PR title for this?

@buffalojoec buffalojoec changed the title vote-program: add vote state v4 feature gate SIMD-0185: vote-program: add vote state v4 feature gate Oct 16, 2025
@buffalojoec buffalojoec force-pushed the vote-state-v4-feature-gate branch from f95e471 to 95304dc Compare October 17, 2025 07:32
@buffalojoec buffalojoec marked this pull request as ready for review October 17, 2025 07:32
@buffalojoec buffalojoec added this pull request to the merge queue Oct 17, 2025
Merged via the queue into anza-xyz:master with commit 9711906 Oct 17, 2025
54 checks passed
@buffalojoec buffalojoec deleted the vote-state-v4-feature-gate branch October 17, 2025 17:06
rustopian pushed a commit to rustopian/agave that referenced this pull request Nov 20, 2025
* vote-program: refactor tests to use `vote_state_v4_enabled` switch

* vote-program: add vote state v4 feature gate

* runtime: add stake program vote state v4 upgrade
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants