Skip to content

Ungate CAP_0083 and CAP_0085_EXECUTABLE_REF ifdefs - #311

Merged
sisuresh merged 1 commit into
stellar:mainfrom
sisuresh:ungate-cap-0083-0085
Jul 29, 2026
Merged

Ungate CAP_0083 and CAP_0085_EXECUTABLE_REF ifdefs#311
sisuresh merged 1 commit into
stellar:mainfrom
sisuresh:ungate-cap-0083-0085

Conversation

@sisuresh

@sisuresh sisuresh commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Removes the #ifdef CAP_0083 and #ifdef CAP_0085_EXECUTABLE_REF gating so both CAPs' definitions are unconditional and land in curr as well as next. Same shape as #303.

CAP_0084_MUXED_CONTRACT stays gated. CAP-0086 has no XDR changes.

First of the P28 ungating stack: rs-stellar-xdr → rs-soroban-env → stellar-core follow.

Remove the #ifdef CAP_0083 and #ifdef CAP_0085_EXECUTABLE_REF
preprocessor gating so both CAPs' XDR definitions are unconditionally
present on main, and therefore land in curr as well as next. Folds the
gated leading/trailing commas in the StellarValueType, SCValType and
ContractExecutableType enums back onto the preceding line.

CAP_0084_MUXED_CONTRACT stays gated — it is still a SPIKE.
Copilot AI review requested due to automatic review settings July 29, 2026 17:30

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

Ungates CAP-0083 and CAP-0085 XDR definitions so they generate in both curr and next.

Changes:

  • Makes empty transaction-set ledger values unconditional.
  • Makes executable tags and external executable references unconditional.
  • Keeps CAP-0084 gating intact.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
Stellar-ledger.x Ungates CAP-0083 enum and union arms.
Stellar-contract.x Ungates CAP-0085 executable-reference definitions.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@sisuresh
sisuresh requested a review from dmkozh July 29, 2026 17:36
@sisuresh
sisuresh merged commit 9c9c145 into stellar:main Jul 29, 2026
5 checks passed
sisuresh added a commit to sisuresh/stellar-core that referenced this pull request Jul 30, 2026
Removes the CAP_0083 and CAP_0085_EXECUTABLE_REF ifdefs and their
configure.ac / common.mk / Makefile.am wiring, so both CAPs compile
unconditionally. EMPTY_TX_SET_PROTOCOL_VERSION and
EXTERNAL_EXECUTABLE_REF_PROTOCOL_VERSION are now always V_28 rather than
falling back to V_UINT32_MAX; activation stays gated at runtime by
protocolVersionStartsFrom.

Bumps Config::CURRENT_LEDGER_PROTOCOL_VERSION to 28.

Repins src/protocol-curr/xdr to stellar/stellar-xdr#311 (9c9c145, where
the ifdefs were removed) and the p28 soroban host to
stellar/rs-soroban-env#1715 (eec5eea2). The host bump also brings in
CAP-0086 (sparse Symbol-keyed map host functions), which needs no
ungating of its own: it has no XDR changes and landed in the host
unconditionally, gated only by min_supported_protocol 28.
sisuresh added a commit to sisuresh/stellar-core that referenced this pull request Jul 30, 2026
Removes the CAP_0083 and CAP_0085_EXECUTABLE_REF ifdefs and their
configure.ac / common.mk / Makefile.am wiring, so both CAPs compile
unconditionally. EMPTY_TX_SET_PROTOCOL_VERSION and
EXTERNAL_EXECUTABLE_REF_PROTOCOL_VERSION are now always V_28 rather than
falling back to V_UINT32_MAX; activation stays gated at runtime by
protocolVersionStartsFrom.

Bumps Config::CURRENT_LEDGER_PROTOCOL_VERSION to 28.

Repins src/protocol-curr/xdr to stellar/stellar-xdr#311 (9c9c145, where
the ifdefs were removed) and the p28 soroban host to
stellar/rs-soroban-env#1715 (eec5eea2). The host bump also brings in
CAP-0086 (sparse Symbol-keyed map host functions), which needs no
ungating of its own: it has no XDR changes and landed in the host
unconditionally, gated only by min_supported_protocol 28.
sisuresh added a commit to sisuresh/stellar-core that referenced this pull request Jul 30, 2026
Removes the CAP_0083 and CAP_0085_EXECUTABLE_REF ifdefs and their
configure.ac / common.mk / Makefile.am wiring, so both CAPs compile
unconditionally. EMPTY_TX_SET_PROTOCOL_VERSION and
EXTERNAL_EXECUTABLE_REF_PROTOCOL_VERSION are now always V_28 rather than
falling back to V_UINT32_MAX; activation stays gated at runtime by
protocolVersionStartsFrom.

Bumps Config::CURRENT_LEDGER_PROTOCOL_VERSION to 28.

Repins src/protocol-curr/xdr to stellar/stellar-xdr#311 (9c9c145, where
the ifdefs were removed) and the p28 soroban host to
stellar/rs-soroban-env#1715 (eec5eea2). The host bump also brings in
CAP-0086 (sparse Symbol-keyed map host functions), which needs no
ungating of its own: it has no XDR changes and landed in the host
unconditionally, gated only by min_supported_protocol 28.

bump quorum analyzer

Bump env

update test

remove tx tag
pull Bot pushed a commit to mikeyhodl/stellar-core that referenced this pull request Jul 31, 2026
Removes the `CAP_0083` and `CAP_0085_EXECUTABLE_REF` ifdefs and their
`configure.ac` / `common.mk` / `Makefile.am` wiring, so both compile
unconditionally. The two protocol constants are now always `V_28`
instead of falling back to `V_UINT32_MAX`; activation is still gated at
runtime by `protocolVersionStartsFrom`. Bumps
`CURRENT_LEDGER_PROTOCOL_VERSION` to 28.

Repins `src/protocol-curr/xdr` to stellar/stellar-xdr#311 and the p28
host to stellar/rs-soroban-env#1715. The host bump also brings in
CAP-0086, which needs no ungating of its own — no XDR changes, and it
landed in the host unconditionally.

Last of the P28 ungating stack (stellar-xdr#311 → rs-stellar-xdr#565 →
rs-soroban-env#1715 → this).
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