Skip to content

magicblock-labs/solana-upgrade-v3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Solana 2.x → 3.x Upgrade: Research Complete

Status: ✅ ALL 21 ISSUES VERIFIED
Last Updated: 2025-01-15
Scope: MagicBlock Validator codebase
Target: Solana 3.x migration planning


Quick Start

For Decision Makers

→ Read: FINDINGS_SUMMARY.md (10 min read)

  • Executive summary of all 21 issues
  • Risk assessment and timeline (7-11 weeks)
  • Key recommendations

For Engineers

→ Start: ISSUE_INDEX.md (quick reference)

  • All 21 issues with verification status
  • Breaking changes summary
  • Effort estimates per issue

→ Then: Read detailed issue documents as needed (see below)


What Was Investigated

All assumptions from /tmp/solana-upgrade-findings.md have been systematically verified by:

  1. ✅ Inspecting official Solana 3.x crate APIs
  2. ✅ Analyzing MagicBlock fork source code
  3. ✅ Comparing 2.x vs 3.x type definitions
  4. ✅ Assessing breaking changes and impact
  5. ✅ Estimating migration effort

Result: Evidence-based upgrade plan with no unverified assumptions.


Key Findings at a Glance

Critical Issues (Blockers)

Issue Finding Action
5.1 Fork Rebases Both forks need rebase; 7-9 weeks Decide fork strategy NOW
3.1 Version Skew solana-loader-v3-interface conflicts Remove or commit to 3.x migration
6.2 Feature Accounts SVM ignores on-chain accounts in 3.x Semantic architecture change
2.1-2.3 Transaction APIs Breaking changes in env/txn processing 3-5 hours refactoring (post-fork rebase)

High Risk Areas

  • 4.2: Instruction type changes (Address vs Pubkey) — 1-2 weeks
  • 5.2: SanitizedTransaction boundary — 2-3 weeks
  • 3.2: Builtin context changes — 1-2 days

Green Light Items

  • 1.3: ReadableAccount/WritableAccount — No breaking changes ✅
  • 2.4: AccountsBalances — Unchanged ✅
  • 3.3: LoaderV3 — Fully stable ✅
  • 4.1: Import paths — All work in 3.x ✅

Timeline

Recommended Approach: Defer 2-3 Months

Current recommendation: Do NOT upgrade immediately.

Why: Solana 3.x ecosystem still stabilizing; fork rebasing complex

When ready:

  1. Week 1: Version alignment (decide fork strategy)
  2. Week 2-3: Prepare non-fork dependencies
  3. Week 4-9: Fork rebases (parallel streams)
  4. Week 10-11: Integration testing
  5. Week 12: Release

Total effort: 7-11 weeks (depending on fork complexity)


Issue Documents

Account Types (Issues 1.1-1.4)

Transaction Processing (Issues 2.1-2.5)

Program Loading (Issues 3.1-3.3)

Core Types (Issues 4.1-4.2)

SVM Integration (Issues 5.1-5.3)

Feature Sets (Issues 6.1-6.2)


How to Use These Documents

Option A: Executive Review (15 minutes)

  1. Read FINDINGS_SUMMARY.md executive summary
  2. Review "Risk Assessment" section
  3. Check "Key Recommendations"

Option B: Technical Deep Dive (2-4 hours)

  1. Review ISSUE_INDEX.md for quick overview
  2. Read detailed documents in your areas of focus
  3. Cross-reference related issues
  4. Plan specific code changes

Option C: Migration Planning (1 day)

  1. Read complete FINDINGS_SUMMARY.md
  2. Review all "Critical Blockers" issue documents
  3. Create fork rebase plan (5.1)
  4. Plan crate version alignment (3.1)
  5. Schedule multi-week project

Critical Decisions Needed

Before migration can begin, the team must decide:

1. Fork Strategy (Issue 5.1)

Decision: Keep custom forks or contribute upstream?

  • Option A: Maintain forks; rebase to 3.x (7-9 weeks)
  • Option B: Contribute to Solana; depends on their roadmap (6+ months)
  • Option C: Redesign; remove fork dependencies (10+ weeks, risky)

Recommended: Option A (rebase forks)

2. Crate Version Alignment (Issue 3.1)

Decision: Resolve version mixing before upgrade

  • Option A: Stay on 2.2.x (remove solana-loader-v3-interface)
  • Option B: Commit to 3.x migration; upgrade everything together

Recommended: Option A (stay 2.2.x until ready for full 3.x)

3. Feature Account Behavior (Issue 6.2)

Decision: Update feature gate architecture for 3.x

  • Current: On-chain feature accounts + FeatureSet
  • 3.x: FeatureSet only (on-chain accounts ignored by SVM)
  • Impact: Validator behavior changes; potential divergence risk

Decision needed: How to handle this architectural shift


Success Criteria

For 2.2.x Branch (Prepare)

  • Import paths cleaned up (4.1)
  • Fork documentation updated (1.4)
  • Feature gate behavior reviewed (6.2)
  • Fork strategy decided (5.1)

For 3.x Branch (Execution)

  • All forks rebased and tested
  • Crate versions aligned
  • All transaction processing APIs updated
  • Instruction types migrated
  • SanitizedTransaction boundary adapted
  • Feature account semantics resolved
  • Full integration tests passing
  • Feature gate behavior validated

Questions & Support

For specific issues:

  • Read the detailed issue document (see list above)
  • Check the "Migration Strategy" section in each document
  • Review the "Testing Checklist"

For fork-related questions:

For transaction processing:


Document Statistics

  • Total pages: ~50 (comprehensive analysis)
  • Issues analyzed: 21
  • Issues with breaking changes: 12
  • Issues fully stable: 4
  • Issues blocking upgrade: 3
  • Estimated reading time: 2-3 hours (full review)

Next Steps

  1. Share with team: Send FINDINGS_SUMMARY.md to decision makers
  2. Decide fork strategy: (5.1) — Required before any code changes
  3. Plan timeline: Use FINDINGS_SUMMARY.md timeline as guide
  4. Assign responsibility: Create issues/tasks for each work stream
  5. Begin prep work: Clean imports (4.1), document forks (1.4)
  6. Monitor Solana 3.x: Watch for ecosystem stabilization

Version History

Date Status Notes
2025-01-15 ✅ Complete All 21 issues verified; 19 documents created
2025-01-15 ✅ Published Research phase complete; migration planning phase ready

Start here: FINDINGS_SUMMARY.md or ISSUE_INDEX.md

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors