Skip to content

Protocol 28 (CAP-0085) - #891

Merged
sisuresh merged 4 commits into
stellar:protocol-nextfrom
sisuresh:p28-cap-0085
Jul 24, 2026
Merged

Protocol 28 (CAP-0085)#891
sisuresh merged 4 commits into
stellar:protocol-nextfrom
sisuresh:p28-cap-0085

Conversation

@sisuresh

@sisuresh sisuresh commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Rust preflight pinned to MERGED rs-soroban-env 88cadc320cd2030bae2110036b361ff474776db1 (stellar/rs-soroban-env#1703) + rs-stellar-xdr a90de0c0d6eba8be668e9074cfb7b285ac0ecd34 (stellar/rs-stellar-xdr#556 — the exact rev the host pins, so cargo unifies the preflight's stellar-xdr with the host's into one package). The stellar-xdr feature set adds cap_0085_executable_ref for the new ContractExecutable variant.

soroban-env-host-curr deliberately does not enable the next feature: at the merged CAP-0085 commit rs-soroban-env's baseline has advanced so the default (non-next) build already declares protocol 28, while next now declares protocol 29. The preflight dispatches by exact protocol number, so enabling next would make it reject ledgers at protocol 28.

Go side pins the MERGED go-stellar-sdk commit 82df7643786e0f8e4f82f4d36e522af8c45bf101 (stellar/go-stellar-sdk#5965) directly in go.mod — no replace directive, and the earlier .golangci.yml gomoddirectives.replace-allow-list exception has been removed.

Supersedes closed #853. Cross-links: stellar/stellar-xdr#308, stellar/go-stellar-sdk#5965.

All upstream pins are now merged. This remains a draft because (a) the Rust dependencies are pinned by git rev rather than published crates.io releases, and (b) per this run's mandate every PR in the stack stays a draft pending human review.

@socket-security

socket-security Bot commented Jul 22, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedgolang/​github.com/​stellar/​go-stellar-sdk@​v0.6.1-0.20260616165505-26fec7c0e891 ⏵ v0.6.1-0.20260722220414-82df7643786e75 +1100100100100
Updatedcargo/​anyhow@​1.0.100 ⏵ 1.0.10481 +110093100100

View full report

sisuresh added 2 commits July 22, 2026 15:55
…w-list

go-stellar-sdk#5965 (Protocol 28 / CAP-0085) merged to protocol-next as
82df7643786e0f8e4f82f4d36e522af8c45bf101. Drop the sisuresh/go fork replace,
pin the merged commit (v0.6.1-0.20260722220414-82df7643786e), and remove the
paired .golangci.yml gomoddirectives replace-allow-list (now-empty stanza
deleted). Rust preflight pins (merged rs-soroban-env / rs-stellar-xdr) unchanged.
The merged CAP-0085 rs-soroban-env commit (88cadc3) advanced its baseline:
the default (non-next) build now declares protocol 28, while 'next' declares
protocol 29. The preflight dispatches by exact protocol number
(proto == curr::PROTOCOL), so with 'next' enabled curr::PROTOCOL was 29 and
ledgers at protocol 28 were rejected ('unsupported protocol version: 28',
TestGetPreflight/protocol_28). Drop the 'next' feature so curr::PROTOCOL == 28.
CAP-0085 XDR types are unaffected — the host pins stellar-xdr with
cap_0085_executable_ref in its own workspace, independent of 'next'.
Verified locally: make build-libs + go test ./.../preflight TestGetPreflight* pass.
@sisuresh
sisuresh requested review from Shaptic and urvisavla July 23, 2026 16:49
@sisuresh
sisuresh marked this pull request as ready for review July 23, 2026 16:49
@sisuresh sisuresh changed the title SPIKE: Protocol 28 (CAP-0085) Protocol 28 (CAP-0085) Jul 23, 2026
@sisuresh
sisuresh marked this pull request as draft July 23, 2026 16:57
@sisuresh
sisuresh marked this pull request as ready for review July 23, 2026 16:58
…host

The P28 integration leg was failing with ScecExceededLimit ('operation
instructions exceeds amount specified') because the previous core image
(27.0.1-3367.3589a696b) predated rs-soroban-env#1702's cost-model update, so
apply-time metering diverged from the preflight's simulation. Repin to
27.1.1-3444.0e3d3d955.jammy-vnext: a vnext build of stellar-core master that
includes CAP-85 core support (stellar-core#5358) and whose src/rust/soroban/p28
submodule is 88cadc32 — the exact rs-soroban-env commit soroban-env-host-curr
pins. Host commit now matches on both sides, so the cost models agree.
Docker manifest + jammy~vnext deb both verified present in the registry/apt pool.
@sisuresh
sisuresh marked this pull request as draft July 23, 2026 22:26
@sisuresh
sisuresh marked this pull request as ready for review July 24, 2026 16:22
@sisuresh
sisuresh merged commit 0c06b41 into stellar:protocol-next Jul 24, 2026
13 of 15 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.

2 participants