Skip to content

chore: import upstream Solana runtime crates - #31

Open
bmuddha wants to merge 2 commits into
devfrom
solana-upstream
Open

chore: import upstream Solana runtime crates#31
bmuddha wants to merge 2 commits into
devfrom
solana-upstream

Conversation

@bmuddha

@bmuddha bmuddha commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

What changed

Imported the upstream Solana account, transaction-context, program-runtime, and
SVM crates, including their tests and SBF fixtures.

Why

The engine-specific runtime fork needs a distinct upstream baseline so each
customization can be reviewed as an immediate-parent diff instead of as part of
one large import.

Closes #32.

Impact

  • Adds the uncustomized execution crates that the next four stack PRs reshape.
  • Preserves upstream account, invocation, VM, loader, and transaction-processing
    behavior at this stack boundary.
  • Does not yet wire the crates into the engine workspace or introduce
    engine-specific storage and execution policy.

Reviewer notes

Treat this as a mechanical baseline import. Engine-specific divergences belong
in the dedicated descendant PRs.

Follow-up

The next four PRs customize account storage, transaction context, program
runtime, and SVM behavior independently.

@bmuddha
bmuddha marked this pull request as ready for review July 28, 2026 12:15
@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

This PR imports upstream Solana account, transaction-context, program-runtime, SVM, and transaction-view crates. It adds manifests, runtime structures, VM and transaction-processing logic, zero-copy parsing, tests, fixtures, benchmarks, and SVM documentation.

Changes

Upstream Solana execution crates

Layer / File(s) Summary
Account representations and state serialization
solana/account/*
Adds owning and shared account types, account traits, serialization helpers, sysvar conversions, feature wiring, and typed state traits with tests.
Transaction and instruction context
solana/transaction-context/*
Adds instruction frames, account borrowing and mutation, transaction context and traces, VM slices, return data, execution records, and account limits.
Program runtime and VM execution
solana/program-runtime/*
Adds invocation and execution budgets, memory translation and serialization, CPI handling, deployment, program caching, sysvar caching, logging, metrics, and VM pooling.
SVM transaction processing
solana/svm/src/*
Adds account and program loading, rent and rollback handling, message processing, transaction results, balance collection, and batch processing.
Zero-copy transaction views
solana/transaction-view/*
Adds framed transaction parsing, sanitization, address-table resolution, transaction configuration access, SVM message implementations, and benchmarks.
SVM fixtures and validation suites
solana/svm/tests/*, solana/svm/doc/*
Adds example programs, mock-bank utilities, integration and concurrency tests, and SVM interface documentation.

Estimated code review effort: 5 (Critical) | ~180 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Linked Issues check ❓ Inconclusive The reviewable files satisfy the import objectives, but binary fixtures were excluded by the !**/*.so filter. Verify that the six excluded .so fixtures are included and match the upstream baseline.
✅ Passed checks (4 passed)
Check name Status Explanation
Out of Scope Changes check ✅ Passed The changes support the upstream baseline import and do not show engine-specific APIs, storage integration, or execution-policy changes.
Docstring Coverage ✅ Passed Docstring coverage is 92.52% which is sufficient. The required threshold is 80.00%.
Title check ✅ Passed The title clearly and concisely describes the import of upstream Solana runtime crates.
Description check ✅ Passed The description directly explains the imported crates, baseline purpose, scope, and excluded engine-specific changes.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch solana-upstream

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 12

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@solana/account/src/state_traits.rs`:
- Line 10: Correct the typo in the documentation comment for the convenience
trait by changing “covert” to “convert”; do not alter the trait or its behavior.

In `@solana/program-runtime/src/cpi.rs`:
- Around line 1226-1229: Correct the duplicated article in the safety
documentation comment near the MemoryMapping usage, changing “The the account
data” to “The account data” without altering the documented safety requirement.

In `@solana/program-runtime/src/loaded_programs.rs`:
- Around line 978-986: Fix the fixture setup used by new_loaded_entry so it can
load noop_aligned.so in a tracked checkout: either add the missing test ELF at
the expected location with the required parent directory, or update the file
path to an existing tracked fixture. Ensure tests invoking
new_test_entry_with_usage no longer panic during fixture initialization.

In `@solana/svm/doc/spec.md`:
- Line 243: Correct the spelling of “interwined” to “intertwined” in the
sentence describing the relationship with the SVMInstruction struct.
- Line 74: Update the context diagram reference in the documentation to use the
repository’s correct relative location, and ensure the referenced rendered
context.svg is added alongside the documentation; otherwise remove the image
reference and retain only valid diagram sources.

In `@solana/svm/src/program_loader.rs`:
- Around line 242-255: Update loader_v4_get_state to avoid the undocumented
slice transmute by using a checked, alignment-safe deserialization approach such
as from_le_bytes or bytemuck. If retaining the transmute, validate pointer
alignment before casting and add a precise // SAFETY: comment documenting the
alignment, size, layout, and lifetime invariants.

In `@solana/svm/src/rent_calculator.rs`:
- Around line 75-79: Update the rustdoc for the free function
get_account_rent_state to describe that it receives a Rent reference directly
and remove the claims about a default implementation and nonexistent get_rent
method. Also revise the corresponding carried-over documentation at the other
noted sections so it accurately reflects the current free-function API.

In `@solana/svm/src/transaction_processor.rs`:
- Around line 377-385: Update the rustdoc for
program_runtime_environment_for_epoch to remove the inaccurate statement that it
returns None on potential deadlock. Keep the description consistent with its
actual ProgramRuntimeEnvironment return value and fallback behavior.

In `@solana/svm/tests/concurrent_tests.rs`:
- Around line 104-107: Update the concurrency test comments near the
probabilistic and exhaustive scheduler descriptions to remove the stale
hardcoded iteration counts and reference MAX_ITERATIONS instead. Keep the
existing preemption and thread-count details accurate, and ensure both comments
match the actual iteration count used by their tests.

In `@solana/svm/tests/integration_test.rs`:
- Around line 1405-1452: Append the constructed batch 3 `test_entry` to
`test_entries` before leaving the surrounding `simd83_intrabatch_account_reuse`
setup, matching the other batches’ `test_entries.push(test_entry)` calls so this
scenario executes.

In `@solana/transaction-context/src/instruction_accounts.rs`:
- Line 90: Correct the spelling in the documentation comment from “Assignes” to
“Assigns,” leaving the surrounding comment and behavior unchanged.

In `@solana/transaction-context/src/instruction.rs`:
- Around line 39-41: Update the comment above instruction_accounts and
instruction_data to describe the actual default pointer value of 0, removing the
incorrect reference to u64::MAX while preserving the existing VmSlice
initialization.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 60b2ebde-c865-4aab-a122-d504aeddfcc9

📥 Commits

Reviewing files that changed from the base of the PR and between 5a3b70e and 5e491ae.

⛔ Files ignored due to path filters (6)
  • solana/svm/doc/diagrams/context.svg is excluded by !**/*.svg
  • solana/svm/tests/example-programs/clock-sysvar/clock_sysvar_program.so is excluded by !**/*.so
  • solana/svm/tests/example-programs/hello-solana/hello_solana_program.so is excluded by !**/*.so
  • solana/svm/tests/example-programs/simple-transfer/simple_transfer_program.so is excluded by !**/*.so
  • solana/svm/tests/example-programs/transfer-from-account/transfer_from_account_program.so is excluded by !**/*.so
  • solana/svm/tests/example-programs/write-to-account/write_to_account_program.so is excluded by !**/*.so
📒 Files selected for processing (60)
  • solana/account/Cargo.toml
  • solana/account/src/lib.rs
  • solana/account/src/state_traits.rs
  • solana/program-runtime/Cargo.toml
  • solana/program-runtime/src/cpi.rs
  • solana/program-runtime/src/deploy.rs
  • solana/program-runtime/src/execution_budget.rs
  • solana/program-runtime/src/invoke_context.rs
  • solana/program-runtime/src/lib.rs
  • solana/program-runtime/src/loaded_programs.rs
  • solana/program-runtime/src/loading_task.rs
  • solana/program-runtime/src/mem_pool.rs
  • solana/program-runtime/src/memory.rs
  • solana/program-runtime/src/memory_context.rs
  • solana/program-runtime/src/program_cache_entry.rs
  • solana/program-runtime/src/program_metrics.rs
  • solana/program-runtime/src/serialization.rs
  • solana/program-runtime/src/stable_log.rs
  • solana/program-runtime/src/sysvar_cache.rs
  • solana/program-runtime/src/vm.rs
  • solana/svm/Cargo.toml
  • solana/svm/doc/diagrams/context.tex
  • solana/svm/doc/spec.md
  • solana/svm/src/account_loader.rs
  • solana/svm/src/account_overrides.rs
  • solana/svm/src/lib.rs
  • solana/svm/src/message_processor.rs
  • solana/svm/src/nonce_info.rs
  • solana/svm/src/program_loader.rs
  • solana/svm/src/rent_calculator.rs
  • solana/svm/src/rollback_accounts.rs
  • solana/svm/src/transaction_account_state_info.rs
  • solana/svm/src/transaction_balances.rs
  • solana/svm/src/transaction_commit_result.rs
  • solana/svm/src/transaction_error_metrics.rs
  • solana/svm/src/transaction_execution_result.rs
  • solana/svm/src/transaction_processing_callback.rs
  • solana/svm/src/transaction_processing_result.rs
  • solana/svm/src/transaction_processor.rs
  • solana/svm/tests/concurrent_tests.rs
  • solana/svm/tests/example-programs/clock-sysvar/Cargo.toml
  • solana/svm/tests/example-programs/clock-sysvar/src/lib.rs
  • solana/svm/tests/example-programs/hello-solana/Cargo.toml
  • solana/svm/tests/example-programs/hello-solana/src/lib.rs
  • solana/svm/tests/example-programs/simple-transfer/Cargo.toml
  • solana/svm/tests/example-programs/simple-transfer/src/lib.rs
  • solana/svm/tests/example-programs/transfer-from-account/Cargo.toml
  • solana/svm/tests/example-programs/transfer-from-account/src/lib.rs
  • solana/svm/tests/example-programs/write-to-account/Cargo.toml
  • solana/svm/tests/example-programs/write-to-account/src/lib.rs
  • solana/svm/tests/integration_test.rs
  • solana/svm/tests/mock_bank.rs
  • solana/transaction-context/Cargo.toml
  • solana/transaction-context/src/instruction.rs
  • solana/transaction-context/src/instruction_accounts.rs
  • solana/transaction-context/src/lib.rs
  • solana/transaction-context/src/transaction.rs
  • solana/transaction-context/src/transaction_accounts.rs
  • solana/transaction-context/src/vm_addresses.rs
  • solana/transaction-context/src/vm_slice.rs

Comment thread solana/account/src/state_traits.rs
Comment thread solana/program-runtime/src/cpi.rs
Comment thread solana/program-runtime/src/loaded_programs.rs
Comment thread solana/svm/doc/spec.md
Comment thread solana/svm/doc/spec.md
Comment thread solana/svm/src/transaction_processor.rs
Comment thread solana/svm/tests/concurrent_tests.rs
Comment thread solana/svm/tests/integration_test.rs
Comment thread solana/transaction-context/src/instruction_accounts.rs
Comment thread solana/transaction-context/src/instruction.rs

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
solana/svm/doc/spec.md (1)

249-253: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Inconsistent naming for the load_transaction_accounts return type.

Three different names are used for what appears to be the same return value: LoadedTransaction (line 249), then TransactionLoadedResult and LoadTransaction (line 253). This is confusing for readers trying to map the spec to actual types. Pick one consistent name (matching the real struct name in solana/svm/src/account_loader.rs) throughout this step. Markdownlint also flags line 253's indentation as inconsistent with its sibling list items — worth aligning while fixing the naming.

📝 Proposed fix
-    - Returns `TransactionLoadedResult`, containing the `LoadTransaction` we obtained from `loaded_transaction_accounts`
+   - Returns a `TransactionLoadedResult`, containing the `LoadedTransaction` we obtained from `load_transaction_accounts`
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@solana/svm/doc/spec.md` around lines 249 - 253, Standardize the return-type
naming in the load_transaction_accounts specification to the actual struct name
defined in account_loader.rs, replacing the inconsistent LoadedTransaction,
TransactionLoadedResult, and LoadTransaction references. While updating that
step, align the indentation of the Returns list item with its sibling entries.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@solana/program-runtime/src/loaded_programs.rs`:
- Around line 1938-1944: Update the stale effective-slot references in the
loaded-programs test comments for program4 to use slot 18, matching 15 +
DELAY_VISIBILITY_SLOT_OFFSET and the existing slot-18 assertion. Change comments
only; preserve the tombstone assertions and test behavior.

---

Nitpick comments:
In `@solana/svm/doc/spec.md`:
- Around line 249-253: Standardize the return-type naming in the
load_transaction_accounts specification to the actual struct name defined in
account_loader.rs, replacing the inconsistent LoadedTransaction,
TransactionLoadedResult, and LoadTransaction references. While updating that
step, align the indentation of the Returns list item with its sibling entries.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: e28c8379-2749-4b68-8f81-30f52b4fa17b

📥 Commits

Reviewing files that changed from the base of the PR and between 5e491ae and 0cc2b5d.

⛔ Files ignored due to path filters (6)
  • solana/svm/doc/diagrams/context.svg is excluded by !**/*.svg
  • solana/svm/tests/example-programs/clock-sysvar/clock_sysvar_program.so is excluded by !**/*.so
  • solana/svm/tests/example-programs/hello-solana/hello_solana_program.so is excluded by !**/*.so
  • solana/svm/tests/example-programs/simple-transfer/simple_transfer_program.so is excluded by !**/*.so
  • solana/svm/tests/example-programs/transfer-from-account/transfer_from_account_program.so is excluded by !**/*.so
  • solana/svm/tests/example-programs/write-to-account/write_to_account_program.so is excluded by !**/*.so
📒 Files selected for processing (60)
  • solana/account/Cargo.toml
  • solana/account/src/lib.rs
  • solana/account/src/state_traits.rs
  • solana/program-runtime/Cargo.toml
  • solana/program-runtime/src/cpi.rs
  • solana/program-runtime/src/deploy.rs
  • solana/program-runtime/src/execution_budget.rs
  • solana/program-runtime/src/invoke_context.rs
  • solana/program-runtime/src/lib.rs
  • solana/program-runtime/src/loaded_programs.rs
  • solana/program-runtime/src/loading_task.rs
  • solana/program-runtime/src/mem_pool.rs
  • solana/program-runtime/src/memory.rs
  • solana/program-runtime/src/memory_context.rs
  • solana/program-runtime/src/program_cache_entry.rs
  • solana/program-runtime/src/program_metrics.rs
  • solana/program-runtime/src/serialization.rs
  • solana/program-runtime/src/stable_log.rs
  • solana/program-runtime/src/sysvar_cache.rs
  • solana/program-runtime/src/vm.rs
  • solana/svm/Cargo.toml
  • solana/svm/doc/diagrams/context.tex
  • solana/svm/doc/spec.md
  • solana/svm/src/account_loader.rs
  • solana/svm/src/account_overrides.rs
  • solana/svm/src/lib.rs
  • solana/svm/src/message_processor.rs
  • solana/svm/src/nonce_info.rs
  • solana/svm/src/program_loader.rs
  • solana/svm/src/rent_calculator.rs
  • solana/svm/src/rollback_accounts.rs
  • solana/svm/src/transaction_account_state_info.rs
  • solana/svm/src/transaction_balances.rs
  • solana/svm/src/transaction_commit_result.rs
  • solana/svm/src/transaction_error_metrics.rs
  • solana/svm/src/transaction_execution_result.rs
  • solana/svm/src/transaction_processing_callback.rs
  • solana/svm/src/transaction_processing_result.rs
  • solana/svm/src/transaction_processor.rs
  • solana/svm/tests/concurrent_tests.rs
  • solana/svm/tests/example-programs/clock-sysvar/Cargo.toml
  • solana/svm/tests/example-programs/clock-sysvar/src/lib.rs
  • solana/svm/tests/example-programs/hello-solana/Cargo.toml
  • solana/svm/tests/example-programs/hello-solana/src/lib.rs
  • solana/svm/tests/example-programs/simple-transfer/Cargo.toml
  • solana/svm/tests/example-programs/simple-transfer/src/lib.rs
  • solana/svm/tests/example-programs/transfer-from-account/Cargo.toml
  • solana/svm/tests/example-programs/transfer-from-account/src/lib.rs
  • solana/svm/tests/example-programs/write-to-account/Cargo.toml
  • solana/svm/tests/example-programs/write-to-account/src/lib.rs
  • solana/svm/tests/integration_test.rs
  • solana/svm/tests/mock_bank.rs
  • solana/transaction-context/Cargo.toml
  • solana/transaction-context/src/instruction.rs
  • solana/transaction-context/src/instruction_accounts.rs
  • solana/transaction-context/src/lib.rs
  • solana/transaction-context/src/transaction.rs
  • solana/transaction-context/src/transaction_accounts.rs
  • solana/transaction-context/src/vm_addresses.rs
  • solana/transaction-context/src/vm_slice.rs
🚧 Files skipped from review as they are similar to previous changes (57)
  • solana/svm/src/transaction_processing_callback.rs
  • solana/svm/tests/example-programs/clock-sysvar/Cargo.toml
  • solana/svm/tests/example-programs/hello-solana/src/lib.rs
  • solana/svm/tests/example-programs/clock-sysvar/src/lib.rs
  • solana/svm/tests/example-programs/simple-transfer/Cargo.toml
  • solana/svm/tests/example-programs/transfer-from-account/Cargo.toml
  • solana/svm/src/lib.rs
  • solana/account/Cargo.toml
  • solana/svm/tests/example-programs/simple-transfer/src/lib.rs
  • solana/svm/tests/example-programs/hello-solana/Cargo.toml
  • solana/svm/tests/example-programs/transfer-from-account/src/lib.rs
  • solana/transaction-context/src/vm_addresses.rs
  • solana/svm/src/transaction_error_metrics.rs
  • solana/program-runtime/src/lib.rs
  • solana/transaction-context/Cargo.toml
  • solana/svm/src/transaction_commit_result.rs
  • solana/svm/src/nonce_info.rs
  • solana/program-runtime/Cargo.toml
  • solana/transaction-context/src/vm_slice.rs
  • solana/svm/src/transaction_execution_result.rs
  • solana/svm/tests/example-programs/write-to-account/src/lib.rs
  • solana/svm/doc/diagrams/context.tex
  • solana/svm/src/rent_calculator.rs
  • solana/program-runtime/src/loading_task.rs
  • solana/svm/tests/example-programs/write-to-account/Cargo.toml
  • solana/program-runtime/src/memory_context.rs
  • solana/svm/src/account_overrides.rs
  • solana/program-runtime/src/program_metrics.rs
  • solana/svm/src/rollback_accounts.rs
  • solana/transaction-context/src/instruction_accounts.rs
  • solana/program-runtime/src/stable_log.rs
  • solana/program-runtime/src/deploy.rs
  • solana/account/src/state_traits.rs
  • solana/svm/src/transaction_account_state_info.rs
  • solana/program-runtime/src/memory.rs
  • solana/svm/src/message_processor.rs
  • solana/program-runtime/src/program_cache_entry.rs
  • solana/svm/tests/concurrent_tests.rs
  • solana/svm/src/transaction_balances.rs
  • solana/program-runtime/src/sysvar_cache.rs
  • solana/transaction-context/src/lib.rs
  • solana/svm/tests/mock_bank.rs
  • solana/program-runtime/src/execution_budget.rs
  • solana/svm/src/transaction_processing_result.rs
  • solana/program-runtime/src/vm.rs
  • solana/svm/src/account_loader.rs
  • solana/program-runtime/src/serialization.rs
  • solana/svm/src/program_loader.rs
  • solana/program-runtime/src/mem_pool.rs
  • solana/svm/src/transaction_processor.rs
  • solana/transaction-context/src/instruction.rs
  • solana/program-runtime/src/cpi.rs
  • solana/transaction-context/src/transaction.rs
  • solana/program-runtime/src/invoke_context.rs
  • solana/svm/tests/integration_test.rs
  • solana/transaction-context/src/transaction_accounts.rs
  • solana/svm/Cargo.toml

Comment thread solana/program-runtime/src/loaded_programs.rs

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 11

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@solana/account/src/lib.rs`:
- Around line 639-646: Update the rustdoc for
create_account_shared_data_with_fields to state that it creates an
AccountSharedData from a Sysvar, matching the function’s return type and
preserving the existing implementation.

In `@solana/program-runtime/Cargo.toml`:
- Around line 24-29: Update the frozen-abi feature wiring in the program-runtime
manifest so enabling frozen-abi also activates the optional solana-frozen-abi
dependency required by the cfg-gated AbiExample implementation for SysvarCache.
Preserve the existing feature name and ensure builds with --features frozen-abi
resolve all referenced crates.

In `@solana/program-runtime/src/invoke_context.rs`:
- Around line 350-351: Update the comment above transaction_callee_map to
accurately state that account indices are u16 and describe the capacity using
MAX_ACCOUNTS_PER_TRANSACTION, removing the outdated u8 and 256-account
rationale. Keep the Vec<u16> initialization unchanged.

In `@solana/program-runtime/src/loading_task.rs`:
- Line 17: Correct the spelling of “cooprative” to “cooperative” in the doc
comment describing the loading-task suspension behavior.

In `@solana/program-runtime/src/program_metrics.rs`:
- Line 33: Correct the duplicated “the” in the documentation comment describing
Self::compilation_time_ema, leaving the identifier and surrounding documentation
unchanged.

In `@solana/transaction-context/src/transaction_accounts.rs`:
- Around line 109-110: Remove the explicit pub(crate) visibility from
set_data_from_slice and try_borrow_mut when they are annotated with
cfg_attr(..., qualifiers(pub)), allowing the attribute to provide visibility
without generating duplicate qualifiers.

In `@solana/transaction-context/src/transaction.rs`:
- Around line 259-262: Update the documentation for get_next_instruction_context
to remove the nonexistent prepare_next_instruction and
prepare_next_top_level_instruction references, and instead describe
configuration through configure_instruction_at_index, mentioning the *_for_tests
helpers only if needed.

In `@solana/transaction-view/Cargo.toml`:
- Line 3: Update the package description in Cargo.toml from “Agave
TranactionView” to “Agave TransactionView”, correcting the misspelled
user-facing crate name.

In `@solana/transaction-view/src/bytes.rs`:
- Line 150: Correct the typo in the public rustdoc comment by changing “point t
the byte” to “point to the byte” while leaving the surrounding documentation and
implementation unchanged.

In `@solana/transaction-view/src/sanitize.rs`:
- Around line 25-33: Update the rustdoc above sanitize_transaction_size to
remove the inaccurate “size <= 4096 bytes” constraint and describe the
version-specific limits represented by PACKET_DATA_SIZE for Legacy/V0 and
v1::MAX_TRANSACTION_SIZE for V1.

In `@solana/transaction-view/src/transaction_frame.rs`:
- Around line 44-50: Update TransactionFrame::try_new to reject any input whose
length is not strictly below u16::MAX before calling is_legacy_or_v0 or either
frame parser, returning the existing appropriate error type. Ensure all parsing
and offset casts occur only after this validation; keep the existing legacy/v0
and v1 dispatch unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: e8392034-3a93-4373-a1dc-579eaf9f03c3

📥 Commits

Reviewing files that changed from the base of the PR and between 0cc2b5d and 99f5001.

⛔ Files ignored due to path filters (6)
  • solana/svm/doc/diagrams/context.svg is excluded by !**/*.svg
  • solana/svm/tests/example-programs/clock-sysvar/clock_sysvar_program.so is excluded by !**/*.so
  • solana/svm/tests/example-programs/hello-solana/hello_solana_program.so is excluded by !**/*.so
  • solana/svm/tests/example-programs/simple-transfer/simple_transfer_program.so is excluded by !**/*.so
  • solana/svm/tests/example-programs/transfer-from-account/transfer_from_account_program.so is excluded by !**/*.so
  • solana/svm/tests/example-programs/write-to-account/write_to_account_program.so is excluded by !**/*.so
📒 Files selected for processing (78)
  • solana/account/Cargo.toml
  • solana/account/src/lib.rs
  • solana/account/src/state_traits.rs
  • solana/program-runtime/Cargo.toml
  • solana/program-runtime/src/cpi.rs
  • solana/program-runtime/src/deploy.rs
  • solana/program-runtime/src/execution_budget.rs
  • solana/program-runtime/src/invoke_context.rs
  • solana/program-runtime/src/lib.rs
  • solana/program-runtime/src/loaded_programs.rs
  • solana/program-runtime/src/loading_task.rs
  • solana/program-runtime/src/mem_pool.rs
  • solana/program-runtime/src/memory.rs
  • solana/program-runtime/src/memory_context.rs
  • solana/program-runtime/src/program_cache_entry.rs
  • solana/program-runtime/src/program_metrics.rs
  • solana/program-runtime/src/serialization.rs
  • solana/program-runtime/src/stable_log.rs
  • solana/program-runtime/src/sysvar_cache.rs
  • solana/program-runtime/src/vm.rs
  • solana/svm/Cargo.toml
  • solana/svm/doc/diagrams/context.tex
  • solana/svm/doc/spec.md
  • solana/svm/src/account_loader.rs
  • solana/svm/src/account_overrides.rs
  • solana/svm/src/lib.rs
  • solana/svm/src/message_processor.rs
  • solana/svm/src/nonce_info.rs
  • solana/svm/src/program_loader.rs
  • solana/svm/src/rent_calculator.rs
  • solana/svm/src/rollback_accounts.rs
  • solana/svm/src/transaction_account_state_info.rs
  • solana/svm/src/transaction_balances.rs
  • solana/svm/src/transaction_commit_result.rs
  • solana/svm/src/transaction_error_metrics.rs
  • solana/svm/src/transaction_execution_result.rs
  • solana/svm/src/transaction_processing_callback.rs
  • solana/svm/src/transaction_processing_result.rs
  • solana/svm/src/transaction_processor.rs
  • solana/svm/tests/concurrent_tests.rs
  • solana/svm/tests/example-programs/clock-sysvar/Cargo.toml
  • solana/svm/tests/example-programs/clock-sysvar/src/lib.rs
  • solana/svm/tests/example-programs/hello-solana/Cargo.toml
  • solana/svm/tests/example-programs/hello-solana/src/lib.rs
  • solana/svm/tests/example-programs/simple-transfer/Cargo.toml
  • solana/svm/tests/example-programs/simple-transfer/src/lib.rs
  • solana/svm/tests/example-programs/transfer-from-account/Cargo.toml
  • solana/svm/tests/example-programs/transfer-from-account/src/lib.rs
  • solana/svm/tests/example-programs/write-to-account/Cargo.toml
  • solana/svm/tests/example-programs/write-to-account/src/lib.rs
  • solana/svm/tests/integration_test.rs
  • solana/svm/tests/mock_bank.rs
  • solana/transaction-context/Cargo.toml
  • solana/transaction-context/src/instruction.rs
  • solana/transaction-context/src/instruction_accounts.rs
  • solana/transaction-context/src/lib.rs
  • solana/transaction-context/src/transaction.rs
  • solana/transaction-context/src/transaction_accounts.rs
  • solana/transaction-context/src/vm_addresses.rs
  • solana/transaction-context/src/vm_slice.rs
  • solana/transaction-view/Cargo.toml
  • solana/transaction-view/benches/bytes.rs
  • solana/transaction-view/benches/transaction_view.rs
  • solana/transaction-view/src/address_table_lookup_frame.rs
  • solana/transaction-view/src/bytes.rs
  • solana/transaction-view/src/instructions_frame.rs
  • solana/transaction-view/src/lib.rs
  • solana/transaction-view/src/message_header_frame.rs
  • solana/transaction-view/src/resolved_transaction_view.rs
  • solana/transaction-view/src/result.rs
  • solana/transaction-view/src/sanitize.rs
  • solana/transaction-view/src/signature_frame.rs
  • solana/transaction-view/src/static_account_keys_frame.rs
  • solana/transaction-view/src/transaction_config_frame.rs
  • solana/transaction-view/src/transaction_data.rs
  • solana/transaction-view/src/transaction_frame.rs
  • solana/transaction-view/src/transaction_version.rs
  • solana/transaction-view/src/transaction_view.rs
🚧 Files skipped from review as they are similar to previous changes (4)
  • solana/svm/tests/example-programs/simple-transfer/Cargo.toml
  • solana/svm/tests/example-programs/clock-sysvar/Cargo.toml
  • solana/svm/src/transaction_processing_callback.rs
  • solana/svm/tests/example-programs/transfer-from-account/Cargo.toml

Comment thread solana/account/src/lib.rs
Comment thread solana/program-runtime/Cargo.toml
Comment thread solana/program-runtime/src/invoke_context.rs
Comment thread solana/program-runtime/src/loading_task.rs
Comment thread solana/program-runtime/src/program_metrics.rs
Comment thread solana/transaction-context/src/transaction.rs
Comment thread solana/transaction-view/Cargo.toml Outdated
Comment thread solana/transaction-view/src/bytes.rs
Comment thread solana/transaction-view/src/sanitize.rs Outdated
Comment thread solana/transaction-view/src/transaction_frame.rs

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 9

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@solana/svm/doc/spec.md`:
- Around line 160-164: Update the TransactionCheckResult section to describe the
actual CheckedTransactionDetails contents: the optional nonce address and the
compute budget and fee limits. Remove the outdated reference to a nonce value
and lamports per signature.
- Around line 129-135: Update the documented TransactionProcessingCallback trait
to extend InvokeContextCallback and add the required inspect_account method with
the address, AccountState, and writable-status parameters, while preserving the
existing methods.

In `@solana/transaction-view/benches/bytes.rs`:
- Around line 13-15: Update the comment above the values initialization in the
benchmark to describe the packet-sized range produced by the loop, rather than
claiming it contains all valid u16 values; leave the loop and serialization
behavior unchanged.

In `@solana/transaction-view/src/bytes.rs`:
- Around line 264-268: Add solana_packet::PACKET_DATA_SIZE to the use block of
the bytes test module so its existing test references resolve without changing
other imports or behavior.
- Around line 69-85: In read_compressed_u16, replace the undefined index
reference when advancing the offset with the consumed byte position derived from
offset.wrapping_add(i).checked_add(1), preserving the existing parse-error
handling on overflow.

In `@solana/transaction-view/src/sanitize.rs`:
- Around line 94-96: Correct the typo in the documentation comment’s “Sigantures
Constraint” heading to “Signatures Constraint,” without changing the surrounding
signature constraints.
- Around line 138-152: Update the rustdoc for sanitize_instructions to replace
the hard-coded NumInstructions <= 64 statement with the actual version-specific
constants: MAGICBLOCK_INSTRUCTION_TRACE_LENGTH for Magicblock and
solana_transaction_context::MAX_INSTRUCTION_TRACE_LENGTH for Legacy, V0, and V1.
Also update the account-limit documentation to include Magicblock’s 256 limit
while preserving the existing limits for other transaction versions.

In `@solana/transaction-view/src/transaction_config_frame.rs`:
- Around line 64-86: Update TransactionConfigFrame::try_new to replace the
mask_offset > 0 assert with a checked TransactionViewError return when
mask_offset is zero. Preserve normal tx-v1 parsing for positive offsets and keep
the existing mask validation, offset conversion, and array advancement flow
unchanged.

In `@solana/transaction-view/src/transaction_frame.rs`:
- Around line 348-362: Replace the invalid usize::from conversions for the u32
offsets in the static_account_keys path with explicit as usize casts. Update
static_account_keys to construct the Pubkey slice from the existing
start/account_bytes values instead of recomputing a raw pointer from
static_account_keys.offset, and apply the same conversion fix at the other
affected offset usage.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 91d53ae7-b860-4caa-82c5-78aa9ab97f6e

📥 Commits

Reviewing files that changed from the base of the PR and between 99f5001 and 82d6861.

⛔ Files ignored due to path filters (6)
  • solana/svm/doc/diagrams/context.svg is excluded by !**/*.svg
  • solana/svm/tests/example-programs/clock-sysvar/clock_sysvar_program.so is excluded by !**/*.so
  • solana/svm/tests/example-programs/hello-solana/hello_solana_program.so is excluded by !**/*.so
  • solana/svm/tests/example-programs/simple-transfer/simple_transfer_program.so is excluded by !**/*.so
  • solana/svm/tests/example-programs/transfer-from-account/transfer_from_account_program.so is excluded by !**/*.so
  • solana/svm/tests/example-programs/write-to-account/write_to_account_program.so is excluded by !**/*.so
📒 Files selected for processing (78)
  • solana/account/Cargo.toml
  • solana/account/src/lib.rs
  • solana/account/src/state_traits.rs
  • solana/program-runtime/Cargo.toml
  • solana/program-runtime/src/cpi.rs
  • solana/program-runtime/src/deploy.rs
  • solana/program-runtime/src/execution_budget.rs
  • solana/program-runtime/src/invoke_context.rs
  • solana/program-runtime/src/lib.rs
  • solana/program-runtime/src/loaded_programs.rs
  • solana/program-runtime/src/loading_task.rs
  • solana/program-runtime/src/mem_pool.rs
  • solana/program-runtime/src/memory.rs
  • solana/program-runtime/src/memory_context.rs
  • solana/program-runtime/src/program_cache_entry.rs
  • solana/program-runtime/src/program_metrics.rs
  • solana/program-runtime/src/serialization.rs
  • solana/program-runtime/src/stable_log.rs
  • solana/program-runtime/src/sysvar_cache.rs
  • solana/program-runtime/src/vm.rs
  • solana/svm/Cargo.toml
  • solana/svm/doc/diagrams/context.tex
  • solana/svm/doc/spec.md
  • solana/svm/src/account_loader.rs
  • solana/svm/src/account_overrides.rs
  • solana/svm/src/lib.rs
  • solana/svm/src/message_processor.rs
  • solana/svm/src/nonce_info.rs
  • solana/svm/src/program_loader.rs
  • solana/svm/src/rent_calculator.rs
  • solana/svm/src/rollback_accounts.rs
  • solana/svm/src/transaction_account_state_info.rs
  • solana/svm/src/transaction_balances.rs
  • solana/svm/src/transaction_commit_result.rs
  • solana/svm/src/transaction_error_metrics.rs
  • solana/svm/src/transaction_execution_result.rs
  • solana/svm/src/transaction_processing_callback.rs
  • solana/svm/src/transaction_processing_result.rs
  • solana/svm/src/transaction_processor.rs
  • solana/svm/tests/concurrent_tests.rs
  • solana/svm/tests/example-programs/clock-sysvar/Cargo.toml
  • solana/svm/tests/example-programs/clock-sysvar/src/lib.rs
  • solana/svm/tests/example-programs/hello-solana/Cargo.toml
  • solana/svm/tests/example-programs/hello-solana/src/lib.rs
  • solana/svm/tests/example-programs/simple-transfer/Cargo.toml
  • solana/svm/tests/example-programs/simple-transfer/src/lib.rs
  • solana/svm/tests/example-programs/transfer-from-account/Cargo.toml
  • solana/svm/tests/example-programs/transfer-from-account/src/lib.rs
  • solana/svm/tests/example-programs/write-to-account/Cargo.toml
  • solana/svm/tests/example-programs/write-to-account/src/lib.rs
  • solana/svm/tests/integration_test.rs
  • solana/svm/tests/mock_bank.rs
  • solana/transaction-context/Cargo.toml
  • solana/transaction-context/src/instruction.rs
  • solana/transaction-context/src/instruction_accounts.rs
  • solana/transaction-context/src/lib.rs
  • solana/transaction-context/src/transaction.rs
  • solana/transaction-context/src/transaction_accounts.rs
  • solana/transaction-context/src/vm_addresses.rs
  • solana/transaction-context/src/vm_slice.rs
  • solana/transaction-view/Cargo.toml
  • solana/transaction-view/benches/bytes.rs
  • solana/transaction-view/benches/transaction_view.rs
  • solana/transaction-view/src/address_table_lookup_frame.rs
  • solana/transaction-view/src/bytes.rs
  • solana/transaction-view/src/instructions_frame.rs
  • solana/transaction-view/src/lib.rs
  • solana/transaction-view/src/message_header_frame.rs
  • solana/transaction-view/src/resolved_transaction_view.rs
  • solana/transaction-view/src/result.rs
  • solana/transaction-view/src/sanitize.rs
  • solana/transaction-view/src/signature_frame.rs
  • solana/transaction-view/src/static_account_keys_frame.rs
  • solana/transaction-view/src/transaction_config_frame.rs
  • solana/transaction-view/src/transaction_data.rs
  • solana/transaction-view/src/transaction_frame.rs
  • solana/transaction-view/src/transaction_version.rs
  • solana/transaction-view/src/transaction_view.rs
🚧 Files skipped from review as they are similar to previous changes (59)
  • solana/svm/tests/example-programs/clock-sysvar/Cargo.toml
  • solana/svm/tests/example-programs/clock-sysvar/src/lib.rs
  • solana/svm/tests/example-programs/transfer-from-account/Cargo.toml
  • solana/svm/tests/example-programs/simple-transfer/Cargo.toml
  • solana/transaction-view/src/lib.rs
  • solana/svm/tests/example-programs/hello-solana/Cargo.toml
  • solana/svm/tests/example-programs/hello-solana/src/lib.rs
  • solana/transaction-context/Cargo.toml
  • solana/svm/src/transaction_error_metrics.rs
  • solana/svm/src/lib.rs
  • solana/svm/tests/example-programs/write-to-account/Cargo.toml
  • solana/svm/tests/example-programs/write-to-account/src/lib.rs
  • solana/program-runtime/src/lib.rs
  • solana/svm/Cargo.toml
  • solana/svm/src/account_overrides.rs
  • solana/transaction-view/Cargo.toml
  • solana/program-runtime/src/loading_task.rs
  • solana/svm/src/transaction_processing_callback.rs
  • solana/account/Cargo.toml
  • solana/svm/src/transaction_commit_result.rs
  • solana/svm/src/transaction_execution_result.rs
  • solana/transaction-view/src/transaction_view.rs
  • solana/transaction-view/benches/transaction_view.rs
  • solana/program-runtime/src/execution_budget.rs
  • solana/transaction-context/src/vm_addresses.rs
  • solana/svm/src/transaction_account_state_info.rs
  • solana/svm/tests/example-programs/simple-transfer/src/lib.rs
  • solana/transaction-view/src/transaction_data.rs
  • solana/program-runtime/Cargo.toml
  • solana/svm/tests/example-programs/transfer-from-account/src/lib.rs
  • solana/program-runtime/src/vm.rs
  • solana/transaction-view/src/instructions_frame.rs
  • solana/svm/tests/concurrent_tests.rs
  • solana/program-runtime/src/loaded_programs.rs
  • solana/transaction-context/src/instruction.rs
  • solana/transaction-context/src/instruction_accounts.rs
  • solana/svm/src/program_loader.rs
  • solana/program-runtime/src/program_cache_entry.rs
  • solana/svm/doc/diagrams/context.tex
  • solana/program-runtime/src/cpi.rs
  • solana/svm/tests/integration_test.rs
  • solana/svm/src/transaction_processing_result.rs
  • solana/svm/src/rent_calculator.rs
  • solana/svm/src/rollback_accounts.rs
  • solana/transaction-context/src/transaction.rs
  • solana/transaction-context/src/transaction_accounts.rs
  • solana/svm/src/message_processor.rs
  • solana/program-runtime/src/invoke_context.rs
  • solana/transaction-context/src/vm_slice.rs
  • solana/program-runtime/src/serialization.rs
  • solana/svm/src/transaction_processor.rs
  • solana/program-runtime/src/deploy.rs
  • solana/svm/src/transaction_balances.rs
  • solana/program-runtime/src/mem_pool.rs
  • solana/program-runtime/src/memory.rs
  • solana/program-runtime/src/memory_context.rs
  • solana/svm/tests/mock_bank.rs
  • solana/program-runtime/src/sysvar_cache.rs
  • solana/program-runtime/src/program_metrics.rs

Comment thread solana/svm/doc/spec.md
Comment thread solana/svm/doc/spec.md
Comment thread solana/transaction-view/benches/bytes.rs
Comment thread solana/transaction-view/src/bytes.rs
Comment thread solana/transaction-view/src/bytes.rs
Comment thread solana/transaction-view/src/sanitize.rs
Comment thread solana/transaction-view/src/sanitize.rs
Comment thread solana/transaction-view/src/transaction_config_frame.rs
Comment thread solana/transaction-view/src/transaction_frame.rs
@bmuddha
bmuddha force-pushed the solana-upstream branch 2 times, most recently from 0ef28ec to 499658d Compare August 3, 2026 13:23

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
solana/program-runtime/src/program_metrics.rs (1)

33-33: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Typo: duplicated "the" is still present.

Line 33 still contains "to the the". Also, Self::compilation_time_ema does not resolve in a module-level constant doc, because no Self type exists there. Use the full path ProgramStatistics::compilation_time_ema.

📝 Proposed fix
-/// Number of compilation observations contributing to the the [`Self::compilation_time_ema`].
+/// Number of compilation observations contributing to the
+/// [`ProgramStatistics::compilation_time_ema`].

As per path instructions, "Typos in identifiers, comments, or user-facing strings."

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@solana/program-runtime/src/program_metrics.rs` at line 33, Correct the
module-level documentation comment for compilation observations by removing the
duplicated “the” and replacing the unresolved `Self::compilation_time_ema`
reference with `ProgramStatistics::compilation_time_ema`.

Source: Path instructions

🧹 Nitpick comments (2)
solana/transaction-view/src/transaction_frame.rs (1)

110-111: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Typo in safety comment: "preifx".

Correct the word to "prefix".

✏️ Proposed fix
-        // SAFETY: have checked bytes have enough space for preifx all the way up to
+        // SAFETY: have checked bytes have enough space for prefix all the way up to
         //         NumAddresses.

As per path instructions, "Typos in identifiers, comments, or user-facing strings".

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@solana/transaction-view/src/transaction_frame.rs` around lines 110 - 111,
Correct the spelling of “preifx” to “prefix” in the SAFETY comment near the
address-space validation, without changing the surrounding logic or wording.

Source: Path instructions

solana/transaction-view/src/instructions_frame.rs (1)

300-300: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Misspelled SVMInstruction in two rustdoc headings. Both helper docs transpose the letters of the type name.

  • solana/transaction-view/src/instructions_frame.rs#L300-L300: change "SNVInstruction" to SVMInstruction.
  • solana/transaction-view/src/instructions_frame.rs#L362-L362: change "SMVInstruction" to SVMInstruction.

As per path instructions, "Typos in identifiers, comments, or user-facing strings".

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@solana/transaction-view/src/instructions_frame.rs` at line 300, Correct the
rustdoc headings in solana/transaction-view/src/instructions_frame.rs at lines
300-300 and 362-362, replacing “SNVInstruction” and “SMVInstruction” with
“SVMInstruction”; no other changes are needed.

Source: Path instructions

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@solana/svm/tests/example-programs/transfer-from-account/src/lib.rs`:
- Line 23: Update the amount deserialization in the transfer instruction to
handle data_account values shorter than eight bytes without panicking. Validate
the account data length before slicing and return
ProgramError::InvalidAccountData through ProgramResult when insufficient;
preserve the existing u64 conversion for valid data.

---

Duplicate comments:
In `@solana/program-runtime/src/program_metrics.rs`:
- Line 33: Correct the module-level documentation comment for compilation
observations by removing the duplicated “the” and replacing the unresolved
`Self::compilation_time_ema` reference with
`ProgramStatistics::compilation_time_ema`.

---

Nitpick comments:
In `@solana/transaction-view/src/instructions_frame.rs`:
- Line 300: Correct the rustdoc headings in
solana/transaction-view/src/instructions_frame.rs at lines 300-300 and 362-362,
replacing “SNVInstruction” and “SMVInstruction” with “SVMInstruction”; no other
changes are needed.

In `@solana/transaction-view/src/transaction_frame.rs`:
- Around line 110-111: Correct the spelling of “preifx” to “prefix” in the
SAFETY comment near the address-space validation, without changing the
surrounding logic or wording.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 4d2c6de1-5a52-42ff-b0b5-accac843e008

📥 Commits

Reviewing files that changed from the base of the PR and between 82d6861 and 499658d.

⛔ Files ignored due to path filters (6)
  • solana/svm/doc/diagrams/context.svg is excluded by !**/*.svg
  • solana/svm/tests/example-programs/clock-sysvar/clock_sysvar_program.so is excluded by !**/*.so
  • solana/svm/tests/example-programs/hello-solana/hello_solana_program.so is excluded by !**/*.so
  • solana/svm/tests/example-programs/simple-transfer/simple_transfer_program.so is excluded by !**/*.so
  • solana/svm/tests/example-programs/transfer-from-account/transfer_from_account_program.so is excluded by !**/*.so
  • solana/svm/tests/example-programs/write-to-account/write_to_account_program.so is excluded by !**/*.so
📒 Files selected for processing (78)
  • solana/account/Cargo.toml
  • solana/account/src/lib.rs
  • solana/account/src/state_traits.rs
  • solana/program-runtime/Cargo.toml
  • solana/program-runtime/src/cpi.rs
  • solana/program-runtime/src/deploy.rs
  • solana/program-runtime/src/execution_budget.rs
  • solana/program-runtime/src/invoke_context.rs
  • solana/program-runtime/src/lib.rs
  • solana/program-runtime/src/loaded_programs.rs
  • solana/program-runtime/src/loading_task.rs
  • solana/program-runtime/src/mem_pool.rs
  • solana/program-runtime/src/memory.rs
  • solana/program-runtime/src/memory_context.rs
  • solana/program-runtime/src/program_cache_entry.rs
  • solana/program-runtime/src/program_metrics.rs
  • solana/program-runtime/src/serialization.rs
  • solana/program-runtime/src/stable_log.rs
  • solana/program-runtime/src/sysvar_cache.rs
  • solana/program-runtime/src/vm.rs
  • solana/svm/Cargo.toml
  • solana/svm/doc/diagrams/context.tex
  • solana/svm/doc/spec.md
  • solana/svm/src/account_loader.rs
  • solana/svm/src/account_overrides.rs
  • solana/svm/src/lib.rs
  • solana/svm/src/message_processor.rs
  • solana/svm/src/nonce_info.rs
  • solana/svm/src/program_loader.rs
  • solana/svm/src/rent_calculator.rs
  • solana/svm/src/rollback_accounts.rs
  • solana/svm/src/transaction_account_state_info.rs
  • solana/svm/src/transaction_balances.rs
  • solana/svm/src/transaction_commit_result.rs
  • solana/svm/src/transaction_error_metrics.rs
  • solana/svm/src/transaction_execution_result.rs
  • solana/svm/src/transaction_processing_callback.rs
  • solana/svm/src/transaction_processing_result.rs
  • solana/svm/src/transaction_processor.rs
  • solana/svm/tests/concurrent_tests.rs
  • solana/svm/tests/example-programs/clock-sysvar/Cargo.toml
  • solana/svm/tests/example-programs/clock-sysvar/src/lib.rs
  • solana/svm/tests/example-programs/hello-solana/Cargo.toml
  • solana/svm/tests/example-programs/hello-solana/src/lib.rs
  • solana/svm/tests/example-programs/simple-transfer/Cargo.toml
  • solana/svm/tests/example-programs/simple-transfer/src/lib.rs
  • solana/svm/tests/example-programs/transfer-from-account/Cargo.toml
  • solana/svm/tests/example-programs/transfer-from-account/src/lib.rs
  • solana/svm/tests/example-programs/write-to-account/Cargo.toml
  • solana/svm/tests/example-programs/write-to-account/src/lib.rs
  • solana/svm/tests/integration_test.rs
  • solana/svm/tests/mock_bank.rs
  • solana/transaction-context/Cargo.toml
  • solana/transaction-context/src/instruction.rs
  • solana/transaction-context/src/instruction_accounts.rs
  • solana/transaction-context/src/lib.rs
  • solana/transaction-context/src/transaction.rs
  • solana/transaction-context/src/transaction_accounts.rs
  • solana/transaction-context/src/vm_addresses.rs
  • solana/transaction-context/src/vm_slice.rs
  • solana/transaction-view/Cargo.toml
  • solana/transaction-view/benches/bytes.rs
  • solana/transaction-view/benches/transaction_view.rs
  • solana/transaction-view/src/address_table_lookup_frame.rs
  • solana/transaction-view/src/bytes.rs
  • solana/transaction-view/src/instructions_frame.rs
  • solana/transaction-view/src/lib.rs
  • solana/transaction-view/src/message_header_frame.rs
  • solana/transaction-view/src/resolved_transaction_view.rs
  • solana/transaction-view/src/result.rs
  • solana/transaction-view/src/sanitize.rs
  • solana/transaction-view/src/signature_frame.rs
  • solana/transaction-view/src/static_account_keys_frame.rs
  • solana/transaction-view/src/transaction_config_frame.rs
  • solana/transaction-view/src/transaction_data.rs
  • solana/transaction-view/src/transaction_frame.rs
  • solana/transaction-view/src/transaction_version.rs
  • solana/transaction-view/src/transaction_view.rs
🚧 Files skipped from review as they are similar to previous changes (67)
  • solana/svm/tests/example-programs/clock-sysvar/src/lib.rs
  • solana/svm/tests/example-programs/simple-transfer/Cargo.toml
  • solana/svm/tests/example-programs/clock-sysvar/Cargo.toml
  • solana/svm/tests/example-programs/hello-solana/Cargo.toml
  • solana/svm/src/transaction_processing_callback.rs
  • solana/svm/tests/example-programs/write-to-account/Cargo.toml
  • solana/transaction-view/src/lib.rs
  • solana/svm/tests/example-programs/transfer-from-account/Cargo.toml
  • solana/transaction-view/src/transaction_data.rs
  • solana/svm/src/lib.rs
  • solana/svm/src/transaction_error_metrics.rs
  • solana/svm/tests/example-programs/hello-solana/src/lib.rs
  • solana/transaction-context/src/vm_addresses.rs
  • solana/svm/tests/example-programs/write-to-account/src/lib.rs
  • solana/transaction-view/benches/bytes.rs
  • solana/transaction-view/src/result.rs
  • solana/transaction-context/Cargo.toml
  • solana/account/src/state_traits.rs
  • solana/svm/tests/concurrent_tests.rs
  • solana/transaction-view/src/message_header_frame.rs
  • solana/svm/src/transaction_commit_result.rs
  • solana/program-runtime/Cargo.toml
  • solana/program-runtime/src/lib.rs
  • solana/svm/doc/diagrams/context.tex
  • solana/transaction-view/src/address_table_lookup_frame.rs
  • solana/transaction-view/src/static_account_keys_frame.rs
  • solana/transaction-context/src/lib.rs
  • solana/transaction-view/src/signature_frame.rs
  • solana/svm/Cargo.toml
  • solana/svm/tests/example-programs/simple-transfer/src/lib.rs
  • solana/transaction-view/src/transaction_version.rs
  • solana/svm/src/transaction_account_state_info.rs
  • solana/program-runtime/src/loading_task.rs
  • solana/program-runtime/src/stable_log.rs
  • solana/svm/src/message_processor.rs
  • solana/transaction-view/src/transaction_view.rs
  • solana/svm/src/transaction_execution_result.rs
  • solana/transaction-context/src/vm_slice.rs
  • solana/svm/src/transaction_processing_result.rs
  • solana/program-runtime/src/memory.rs
  • solana/program-runtime/src/execution_budget.rs
  • solana/transaction-context/src/transaction_accounts.rs
  • solana/program-runtime/src/loaded_programs.rs
  • solana/svm/src/transaction_balances.rs
  • solana/transaction-context/src/instruction_accounts.rs
  • solana/svm/tests/mock_bank.rs
  • solana/program-runtime/src/cpi.rs
  • solana/transaction-view/src/transaction_config_frame.rs
  • solana/svm/src/nonce_info.rs
  • solana/svm/tests/integration_test.rs
  • solana/transaction-view/benches/transaction_view.rs
  • solana/program-runtime/src/deploy.rs
  • solana/transaction-context/src/transaction.rs
  • solana/svm/src/rent_calculator.rs
  • solana/program-runtime/src/serialization.rs
  • solana/svm/src/program_loader.rs
  • solana/transaction-context/src/instruction.rs
  • solana/transaction-view/src/bytes.rs
  • solana/program-runtime/src/memory_context.rs
  • solana/svm/src/rollback_accounts.rs
  • solana/svm/src/account_loader.rs
  • solana/program-runtime/src/program_cache_entry.rs
  • solana/svm/src/transaction_processor.rs
  • solana/program-runtime/src/invoke_context.rs
  • solana/program-runtime/src/mem_pool.rs
  • solana/program-runtime/src/sysvar_cache.rs
  • solana/svm/src/account_overrides.rs

Comment thread solana/svm/tests/example-programs/transfer-from-account/src/lib.rs
@bmuddha bmuddha self-assigned this Aug 4, 2026
@bmuddha
bmuddha requested a review from a team August 5, 2026 00:22
@bmuddha
bmuddha changed the base branch from master to dev August 5, 2026 14:46
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.

Import upstream Solana execution crates

1 participant