Skip to content

feat: upgrade runtime to Agave 4.2.2 - #34

Draft
bmuddha wants to merge 3 commits into
mainfrom
feat/agave-4.2.2
Draft

bmuddha wants to merge 3 commits into
mainfrom
feat/agave-4.2.2

Conversation

@bmuddha

@bmuddha bmuddha commented Oct 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

We can execute native v1 transactions on the Agave 4.2.2 runtime while retaining MagicBlock account storage, protection flags, access checks, rent exemptions, and rollback behavior.

The runtime port uses upstream v4.2.2 (c9c6f3287e26f24e3476e13e751aebe710191e89) as its baseline. Native transaction contexts, resource configuration, program caching, and account indexing replace the older fork implementations. MagicBlock flags remain host-only, outside the guest account ABI.

Confined accounts reject resizing through normal runtime/CPI APIs. Successful batch transactions retain the previous policy of caching all eligible writable accounts, since trusted builtins can mutate raw account views without setting VM touch flags. Access validation still precedes cache updates, and failed transactions retain rollback-only updates.

Closes #15.

Breaking Changes

  • None
  • Yes — migration path described below

Consumers must align their SDK/runtime types with the new dependency baseline and adapt to native transaction-context and program-cache APIs. Slot transitions must use the slot-scoped processor lifecycle (new_from) rather than changing the processor slot directly. The writable-account cache fix adds no public API or wire-format change.

Test Plan

  • SVM workspace compilation and the 290-test suite passed before the final confined-resize and batch-cache fixes. Workspace Clippy passed with eight inherited upstream style warnings.
  • Subsequent targeted checks passed: eight CPI cases covering readonly/writable updates and confined resize rejection, plus the writable-account cache regression proving that a later load sees raw builtin flag changes rather than stale callback state.
  • Coordinated MBV checks covered consumer compilation, confined-account rollback, and mixed legacy/v0/v1 ledger replay across restart.

Performance costs have not been benchmarked. Trusted raw builtin account mutation remains outside the normal runtime resize guard; those callers remain responsible for their protections. Broader post-fix validation belongs in CI.

@bmuddha bmuddha self-assigned this Oct 6, 2026
@coderabbitai

coderabbitai Bot commented Oct 6, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

Upgrade solana dependencies in svm fork

1 participant