Skip to content

feat: add program runtime crate#20

Open
bmuddha wants to merge 1 commit into
transaction-contextfrom
program-runtime
Open

feat: add program runtime crate#20
bmuddha wants to merge 1 commit into
transaction-contextfrom
program-runtime

Conversation

@bmuddha

@bmuddha bmuddha commented May 28, 2026

Copy link
Copy Markdown
Collaborator

What changed

Added the solana-program-runtime crate, an engine-shaped fork of Agave's crate
patched in workspace-wide via [patch.crates-io].

Why

The engine needs invocation state, CPI translation, and SBF VM setup that map
account regions directly into the VM rather than threading data through a
serialized buffer.

Closes #9.

Impact

  • Provides invocation state, CPI translation, SBF VM setup, sysvar access,
    logging, and program-cache primitives.
  • Serialization preserves loader-selected ABI formats and maps account data into
    separate MemoryRegions, not the serialized input buffer.
  • Account loading and transaction-level policy stay in solana-svm.

Reviewer notes

The serialization and vm error remapping must stay in sync with the
transaction-context access-violation handler — see solana/README.md
(VM Account Mapping, Access-Violation Growth).

Follow-up

svm drives this runtime upstack.

bmuddha commented May 28, 2026

Copy link
Copy Markdown
Collaborator Author

@bmuddha bmuddha force-pushed the transaction-context branch from 63b2d0a to 8f1a777 Compare May 28, 2026 14:05
@bmuddha bmuddha force-pushed the program-runtime branch from d30f0be to 526f178 Compare May 28, 2026 14:05
@bmuddha bmuddha force-pushed the transaction-context branch from 8f1a777 to ccac233 Compare May 28, 2026 14:38
@bmuddha bmuddha force-pushed the program-runtime branch 2 times, most recently from 526f178 to 6b99920 Compare May 28, 2026 14:38
@bmuddha bmuddha force-pushed the transaction-context branch from ccac233 to c4029f9 Compare May 28, 2026 14:42
@bmuddha bmuddha force-pushed the program-runtime branch from 6b99920 to 56ba2c5 Compare May 28, 2026 14:42
@bmuddha bmuddha force-pushed the transaction-context branch from c4029f9 to e4a023f Compare May 29, 2026 09:08
@bmuddha bmuddha force-pushed the program-runtime branch 2 times, most recently from 293b261 to bdadc77 Compare May 29, 2026 15:49
@bmuddha bmuddha force-pushed the transaction-context branch from 27ca11d to ff1197d Compare June 1, 2026 15:29
@bmuddha bmuddha force-pushed the program-runtime branch 3 times, most recently from fea9f0b to a7dda81 Compare June 2, 2026 19:23
@bmuddha bmuddha force-pushed the transaction-context branch from 7f5babf to b1bb9fd Compare June 5, 2026 12:10
@bmuddha bmuddha force-pushed the program-runtime branch from a7dda81 to 9339385 Compare June 5, 2026 12:10
@bmuddha bmuddha force-pushed the transaction-context branch from b1bb9fd to f7c2bac Compare June 16, 2026 10:08
@bmuddha bmuddha force-pushed the program-runtime branch 2 times, most recently from e1e6b84 to d977fde Compare June 22, 2026 19:14
@bmuddha bmuddha force-pushed the transaction-context branch from f7c2bac to 881f449 Compare June 22, 2026 19:14
@bmuddha bmuddha force-pushed the transaction-context branch from 59ad79e to a9fc42e Compare June 24, 2026 14:49
@bmuddha bmuddha force-pushed the transaction-context branch from a9fc42e to a5c02e4 Compare June 26, 2026 10:36
@bmuddha bmuddha force-pushed the transaction-context branch from a5c02e4 to 49572d6 Compare June 26, 2026 16:33
@bmuddha bmuddha force-pushed the transaction-context branch from 49572d6 to 83e3b6d Compare June 30, 2026 13:19
@bmuddha bmuddha force-pushed the program-runtime branch 2 times, most recently from 869d3a5 to ef9728a Compare June 30, 2026 21:16
@bmuddha bmuddha force-pushed the transaction-context branch from 83e3b6d to 885578c Compare June 30, 2026 21:16
@bmuddha bmuddha force-pushed the program-runtime branch from ef9728a to 1a37efb Compare July 1, 2026 20:03
@bmuddha bmuddha force-pushed the transaction-context branch 2 times, most recently from ed5a8e2 to d382bc2 Compare July 2, 2026 15:08
@bmuddha bmuddha force-pushed the program-runtime branch 2 times, most recently from 5900d6a to e7f8d8a Compare July 2, 2026 19:39
@bmuddha bmuddha force-pushed the transaction-context branch 2 times, most recently from f92b443 to 28cf2cc Compare July 3, 2026 22:01
@bmuddha bmuddha force-pushed the program-runtime branch 2 times, most recently from 3207425 to fef8a88 Compare July 6, 2026 09:01
@bmuddha bmuddha force-pushed the transaction-context branch from 28cf2cc to e32412c Compare July 6, 2026 09:01
@bmuddha bmuddha force-pushed the program-runtime branch 2 times, most recently from cd4ec1f to bd2c2ee Compare July 6, 2026 14:46
@bmuddha bmuddha force-pushed the transaction-context branch from e32412c to 7f03467 Compare July 6, 2026 14:46
@bmuddha bmuddha marked this pull request as ready for review July 6, 2026 15:05
@bmuddha bmuddha force-pushed the program-runtime branch from bd2c2ee to 3ed5b92 Compare July 7, 2026 14:15
@bmuddha bmuddha force-pushed the transaction-context branch from 7f03467 to 2940e4c Compare July 7, 2026 14:15
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.

1 participant