Skip to content

Add Protocol 27 support#190

Merged
urvisavla merged 4 commits into
mainfrom
protocol-next
Jun 10, 2026
Merged

Add Protocol 27 support#190
urvisavla merged 4 commits into
mainfrom
protocol-next

Conversation

@Shaptic

@Shaptic Shaptic commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

sisuresh and others added 2 commits June 8, 2026 10:59
* 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).
Copilot AI review requested due to automatic review settings June 8, 2026 23:16

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d393dd1b59

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread internal/ingest/main.go

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.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5a52f052d3

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread .github/workflows/horizon.yml
@urvisavla urvisavla merged commit 199b699 into main Jun 10, 2026
23 checks passed
@urvisavla urvisavla deleted the protocol-next branch June 10, 2026 22:20
@urvisavla urvisavla restored the protocol-next branch June 10, 2026 22:21
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.

5 participants