Ungate CAP_0071 ifdefs#303
Merged
Merged
Conversation
Remove the #ifdef CAP_0071 preprocessor gating so the CAP-0071 XDR definitions are unconditionally present on main. Folds the gated trailing commas in the EnvelopeType and SorobanCredentialsType enums back onto the preceding line.
Contributor
There was a problem hiding this comment.
Pull request overview
This PR removes #ifdef CAP_0071 gating so CAP-0071-related XDR definitions are always present on main, which will cause them to appear in the auto-generated curr branch as well as next.
Changes:
- Ungates CAP-0071 Soroban credential structs/enum/union arms in
Stellar-transaction.x. - Ungates
ENVELOPE_TYPE_SOROBAN_AUTHORIZATION_WITH_ADDRESS = 10inStellar-ledger-entries.x. - Cleans up enum comma placement that previously depended on the
#ifdefblocks.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| Stellar-transaction.x | Removes CAP_0071 preprocessor blocks around Soroban credential and envelope switch definitions. |
| Stellar-ledger-entries.x | Makes the CAP-0071 EnvelopeType enum value unconditional. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
dmkozh
approved these changes
Jun 1, 2026
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
sisuresh
added a commit
to sisuresh/stellar-horizon
that referenced
this pull request
Jun 3, 2026
go-stellar-sdk@130456cc9b69 is regenerated from stellar-xdr@68fa1ac (post- stellar/stellar-xdr#303 ungate of CAP_0071) with XDR_FEATURES cleared, so the bind no longer carries the CAP-0083 STELLAR_VALUE_EMPTY_TX_SET path — matching the p27 release scope (CAP-0071 only; CAP-0083 deferred). The SDK bump also transitively picks up stellar/go-xdr#32, which raises DecodeDefaultMaxDepth 250 → 1500, so the CAP-71 240-deep delegate fixture (test-lcms/InvokeHostFunctionTests/a7a45d93c64cf3d9.xdr) now ingests without ErrMaxDecodingDepth. The HerderTests fixture (network_externalizes_empty-tx-set_on_missing_value) no longer decodes under CAP-71-only XDR (StellarValueType 2 is gone) and is removed.
Shaptic
pushed a commit
to stellar/stellar-horizon
that referenced
this pull request
Jun 8, 2026
* Protocol 27 (CAP-0071 + CAP-0083) ingestion support - Pin go-stellar-sdk to the CAP-71/CAP-83 XDR build. - Bump MaxSupportedProtocolVersion to 27. - Implement GetLedgerRaw on fakeLedgerBackend (added to the SDK LedgerBackend interface). * update core test lcm * add GetLedgerRaw * update * Bump go-stellar-sdk to CAP-71-only XDR; drop CAP-83 fixture go-stellar-sdk@130456cc9b69 is regenerated from stellar-xdr@68fa1ac (post- stellar/stellar-xdr#303 ungate of CAP_0071) with XDR_FEATURES cleared, so the bind no longer carries the CAP-0083 STELLAR_VALUE_EMPTY_TX_SET path — matching the p27 release scope (CAP-0071 only; CAP-0083 deferred). The SDK bump also transitively picks up stellar/go-xdr#32, which raises DecodeDefaultMaxDepth 250 → 1500, so the CAP-71 240-deep delegate fixture (test-lcms/InvokeHostFunctionTests/a7a45d93c64cf3d9.xdr) now ingests without ErrMaxDecodingDepth. The HerderTests fixture (network_externalizes_empty-tx-set_on_missing_value) no longer decodes under CAP-71-only XDR (StellarValueType 2 is gone) and is removed. * Bump go-stellar-sdk to latest CAP-71-only build (a8d5b306) * Bump protocol 26 core version to 27.0.0-3288.7696c069d * Support core 27 apply-load config in TestGenerateLedgers Core 27 reworked the apply-load configuration: the sampled load parameters (APPLY_LOAD_INSTRUCTIONS, APPLY_LOAD_TX_SIZE_BYTES, APPLY_LOAD_NUM_RW_ENTRIES, etc.) were removed in favor of an APPLY_LOAD_MODE selector, and the apply-load command now force overrides NETWORK_PASSPHRASE to "Apply Load" and runs at the core's current ledger protocol version. - Add testdata/apply-load-v27.cfg based on core 27's docs/apply-load-for-meta.cfg - Select the default config based on the core binary's major version - Assert ledger protocol version against the core binary's reported protocol version instead of the max supported protocol env var * Add v27 load-test fixtures; restore deep-delegate LCM fixture - Add load-test-ledgers-v27.xdr.zstd / load-test-fixtures-v27.xdr.zstd, generated via TestGenerateLedgers using the same stellar-core build CI pins (27.0.0-3288.7696c069d, buildtests). Fixes TestLoadTestLedgerBackendWithoutMerge, which looks up the fixture for MaxSupportedProtocolVersion (now 27). - Core 27's apply-load command force-overrides the network passphrase to "Apply Load", so the load tests now select the fixture passphrase by protocol version. - Restore the 240-deep CAP-71 delegate-tree LCM fixture (InvokeHostFunctionTests/a7a45d93c64cf3d9.xdr, still referenced by index.json): it was dropped while go-xdr's max decoding depth was 250, and ingests cleanly again with stellar/go-xdr#32 (depth 1500).
urvisavla
added a commit
to stellar/stellar-horizon
that referenced
this pull request
Jun 10, 2026
* Protocol 27 ingestion (#186) * Protocol 27 (CAP-0071 + CAP-0083) ingestion support - Pin go-stellar-sdk to the CAP-71/CAP-83 XDR build. - Bump MaxSupportedProtocolVersion to 27. - Implement GetLedgerRaw on fakeLedgerBackend (added to the SDK LedgerBackend interface). * update core test lcm * add GetLedgerRaw * update * Bump go-stellar-sdk to CAP-71-only XDR; drop CAP-83 fixture go-stellar-sdk@130456cc9b69 is regenerated from stellar-xdr@68fa1ac (post- stellar/stellar-xdr#303 ungate of CAP_0071) with XDR_FEATURES cleared, so the bind no longer carries the CAP-0083 STELLAR_VALUE_EMPTY_TX_SET path — matching the p27 release scope (CAP-0071 only; CAP-0083 deferred). The SDK bump also transitively picks up stellar/go-xdr#32, which raises DecodeDefaultMaxDepth 250 → 1500, so the CAP-71 240-deep delegate fixture (test-lcms/InvokeHostFunctionTests/a7a45d93c64cf3d9.xdr) now ingests without ErrMaxDecodingDepth. The HerderTests fixture (network_externalizes_empty-tx-set_on_missing_value) no longer decodes under CAP-71-only XDR (StellarValueType 2 is gone) and is removed. * Bump go-stellar-sdk to latest CAP-71-only build (a8d5b306) * Bump protocol 26 core version to 27.0.0-3288.7696c069d * Support core 27 apply-load config in TestGenerateLedgers Core 27 reworked the apply-load configuration: the sampled load parameters (APPLY_LOAD_INSTRUCTIONS, APPLY_LOAD_TX_SIZE_BYTES, APPLY_LOAD_NUM_RW_ENTRIES, etc.) were removed in favor of an APPLY_LOAD_MODE selector, and the apply-load command now force overrides NETWORK_PASSPHRASE to "Apply Load" and runs at the core's current ledger protocol version. - Add testdata/apply-load-v27.cfg based on core 27's docs/apply-load-for-meta.cfg - Select the default config based on the core binary's major version - Assert ledger protocol version against the core binary's reported protocol version instead of the max supported protocol env var * Add v27 load-test fixtures; restore deep-delegate LCM fixture - Add load-test-ledgers-v27.xdr.zstd / load-test-fixtures-v27.xdr.zstd, generated via TestGenerateLedgers using the same stellar-core build CI pins (27.0.0-3288.7696c069d, buildtests). Fixes TestLoadTestLedgerBackendWithoutMerge, which looks up the fixture for MaxSupportedProtocolVersion (now 27). - Core 27's apply-load command force-overrides the network passphrase to "Apply Load", so the load tests now select the fixture passphrase by protocol version. - Restore the 240-deep CAP-71 delegate-tree LCM fixture (InvokeHostFunctionTests/a7a45d93c64cf3d9.xdr, still referenced by index.json): it was dropped while go-xdr's max decoding depth was 250, and ingests cleanly again with stellar/go-xdr#32 (depth 1500). * Bump integration tests to use Protocol 27 (#189) * Bump go-stellar-sdk to v0.6.0 (#191) * Bump verify-range stellar-core to Protocol 27 noble build (#192) --------- Co-authored-by: Siddharth Suresh <siddharth@stellar.org> Co-authored-by: urvisavla <urvi.savla@stellar.org>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Removes the
#ifdef CAP_0071gating so the CAP-0071 definitions are unconditionally present onmain. All five blocks were additive (no#else), so nothing was discarded; the gated trailing commas in the two enums were folded onto the preceding line. CAP_0071 was the only flag in these files.