Skip to content

Add p28 host with CAP-85 support - #5358

Merged
dmkozh merged 4 commits into
stellar:masterfrom
dmkozh:cap85
Jul 22, 2026
Merged

Add p28 host with CAP-85 support#5358
dmkozh merged 4 commits into
stellar:masterfrom
dmkozh:cap85

Conversation

@dmkozh

@dmkozh dmkozh commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Description

The bulk of the change is the necessary plumbing to adapt Core to the breaking host e2e interface changes (for lazy storage entry decoding).

For CAP-85 itself we don't need any Core changes, so this just has an e2e smoke test.

Checklist

  • Reviewed the contributing document
  • Rebased on top of master (no merge commits)
  • Ran clang-format v8.0.0 (via make format or the Visual Studio extension)
  • Compiles
  • Ran all tests
  • If change impacts performance, include supporting evidence per the performance document

@dmkozh
dmkozh force-pushed the cap85 branch 3 times, most recently from 5805fa3 to a6f155c Compare July 21, 2026 20:58
@dmkozh
dmkozh marked this pull request as ready for review July 21, 2026 22:58
Copilot AI review requested due to automatic review settings July 21, 2026 22:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds the protocol-28 Soroban host, lazy ledger-entry decoding interface, and CAP-85 executable-reference support.

Changes:

  • Adds p28 host dispatch and v2 invocation/rent APIs.
  • Refactors Core ledger-input preparation for lazy decoding.
  • Adds CAP-85 configuration, smoke coverage, and metadata baselines.

Reviewed changes

Copilot reviewed 22 out of 23 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
.gitmodules Adds p28 submodule declaration.
Cargo.lock Updates p28 Rust dependencies.
common.mk Defines CAP-85 for C++.
configure.ac Adds CAP-85 conditional.
src/Makefile.am Enables p28 WIP build.
src/herder/test/TransactionQueueTests.cpp Removes host-function filtering tests.
src/ledger/LedgerTypeUtils.cpp Adds p28 rent sizing path.
src/main/main.cpp Temporarily disables XDR identity checks.
src/rust/Cargo.toml Upgrades the p28 host dependency.
src/rust/src/bridge.rs Exposes v2 bridge interfaces.
src/rust/src/dep-trees/p28-expect.txt Updates expected p28 dependencies.
src/rust/src/lib.rs Imports v2 ledger metadata.
src/rust/src/soroban_invoke.rs Dispatches v2 host invocation.
src/rust/src/soroban_module_cache.rs Dispatches v2 rent sizing.
src/rust/src/soroban_proto_all.rs Adapts protocol-specific host APIs.
src/rust/src/soroban_proto_any.rs Implements shared v2 invocation handling.
src/transactions/InvokeHostFunctionOpFrame.cpp Builds ordered lazy-decoding inputs.
src/transactions/TransactionFrame.cpp Removes host-function filtering.
src/transactions/test/InvokeHostFunctionTests.cpp Adds CAP-85 smoke coverage.
src/util/ProtocolVersion.h Adds p28 activation constants.
test-tx-meta-baseline-next/InvokeHostFunctionTests.json Registers the new test baseline.

Comment thread .gitmodules Outdated
Comment thread src/transactions/TransactionFrame.cpp
Comment thread src/transactions/InvokeHostFunctionOpFrame.cpp Outdated
Comment thread src/transactions/test/InvokeHostFunctionTests.cpp
Comment thread src/rust/src/soroban_invoke.rs Outdated
Comment thread src/main/main.cpp
dmkozh added 4 commits July 21, 2026 19:47
These always happen on the host side now.
XDR 'diverged' from p27 host because we've moved the definitions around. Instead of trying to fix it, we disable the check until p28 ungate (which should come very soon anyway).
@dmkozh
dmkozh added this pull request to the merge queue Jul 22, 2026
Merged via the queue into stellar:master with commit c29192c Jul 22, 2026
54 checks passed
@dmkozh
dmkozh deleted the cap85 branch July 22, 2026 18:53
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