Skip to content

SPIKE: Protocol 28 (CAP-0085) - #207

Merged
urvisavla merged 7 commits into
stellar:protocol-nextfrom
sisuresh:p28-cap-0085
Jul 23, 2026
Merged

SPIKE: Protocol 28 (CAP-0085)#207
urvisavla merged 7 commits into
stellar:protocol-nextfrom
sisuresh:p28-cap-0085

Conversation

@sisuresh

Copy link
Copy Markdown
Contributor

XDR regen consumed from go-stellar-sdk stellar/go-stellar-sdk#5965 (pinned via a replace directive in go.mod to the sisuresh/go fork branch).

Supersedes closed #205; cross-links stellar-xdr#308.

What this does

  • Pins go-stellar-sdk to the unmerged fork branch carrying the regenerated XDR for CAP-0085 (new ContractExecutable external-reference variant + SCV_EXECUTABLE_TAG SCVal arm). No bespoke contractevents handling: CAP-0085 does not change SAC events; only the executable_update system event's ContractExecutable representation, handled purely by the regenerated go-sdk XDR.
  • MaxSupportedProtocolVersion is already 28 on protocol-next — not touched.
  • .github/workflows/go.yml: add -timeout 25m to the unit-test run for CI stability.
  • CHANGELOG: Unreleased / Added entry for Protocol 28 (CAP-0085) ingestion support.

Still a SPIKE

Because it pins the unmerged go-sdk branch. Flip the go.mod replace back to a version pin once go-stellar-sdk#5965 merges.

dmkozh and others added 2 commits June 25, 2026 15:50
* Bump core to v27.1.0 for CI.

* !fixup Bump a stray v27 image
Pin go-stellar-sdk to the unmerged fork branch carrying the regenerated
XDR for CAP-0085 (new ContractExecutable external-ref variant +
SCV_EXECUTABLE_TAG SCVal arm). Cross-links go-stellar-sdk#5965.

- go.mod: replace github.com/stellar/go-stellar-sdk => github.com/sisuresh/go
- CHANGELOG: note Protocol 28 (CAP-0085) ingestion support; MaxSupportedProtocolVersion already 28
- go.yml: add -timeout 25m to unit-test run for CI stability
Adds the create_and_invoke_external_ref_contract LedgerCloseMeta capture
(9de1ea718b77ffa2.xdr) produced by stellar-core's CAP-85 host tests
(stellar-core#5358) so TestCoreLCMIngestion exercises horizon's ingestion
of the new ContractExecutable external-ref variant and SCV_EXECUTABLE_TAG
SCVal arm. Verified the fixture decodes with the regenerated go-stellar-sdk
XDR (go-stellar-sdk#5965). index.json updated with the matching descriptor.
@sisuresh

Copy link
Copy Markdown
Contributor Author

Added the CAP-0085 LedgerCloseMeta ingestion fixture from stellar-core#5358: internal/ingest/testdata/test-lcms/InvokeHostFunctionTests/9de1ea718b77ffa2.xdr (create_and_invoke_external_ref_contract, byte-identical to core's --capture-lcm output, 42320 bytes) plus its index.json descriptor. This makes TestCoreLCMIngestion exercise horizon's ingestion of the new ContractExecutable external-ref variant / SCV_EXECUTABLE_TAG arm. Verified the fixture decodes cleanly against the regenerated go-stellar-sdk XDR (#5965) locally (decode-only check, no Postgres). Once core#5358 merges the fixture content is unchanged.

Empty commit to force a fresh CI run. Previous run 29947538259 failed on
flaky 'Transaction Submission Timeout' panics in TestContractTransferBetweenAccounts
and TestTrustlineRevocationEvents, with fail-fast cancelling the remaining
integration legs. No source changes.
sisuresh added 2 commits July 22, 2026 15:54
go-stellar-sdk#5965 (Protocol 28 / CAP-0085 XDR regen) merged to protocol-next
as 82df7643786e0f8e4f82f4d36e522af8c45bf101. Drop the sisuresh/go fork replace
and pin the merged commit (v0.6.1-0.20260722220414-82df7643786e). No more fork
ref, so the earlier GOPRIVATE/sumdb workaround is no longer needed.
@sisuresh
sisuresh marked this pull request as ready for review July 23, 2026 00:45
Drop the -timeout 25m added on the SPIKE branch; restore the base
'go test -race -cover ./...'. The bump was an unjustified carry-over — the
unit test job runs well under Go's 10m default, so the extra ceiling bought
nothing and was out-of-scope churn on a workflow file.
@urvisavla
urvisavla merged commit 4460e7f into stellar:protocol-next Jul 23, 2026
22 checks passed
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