Skip to content

SPIKE: Protocol 30 (CAP-0087) - #243

Closed
sisuresh wants to merge 9 commits into
stellar:protocol-nextfrom
sisuresh:p30-cap-0087
Closed

sisuresh wants to merge 9 commits into
stellar:protocol-nextfrom
sisuresh:p30-cap-0087

Conversation

@sisuresh

@sisuresh sisuresh commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Changes

  • Repin go-stellar-sdk to #6003 (79af6f7f): ContractCostType 86–94 (CAP_0084_MUXED_CONTRACT + CAP_0087_ML_DSA).
  • Add stellar-core#5455's CAP-0087 LCM captures to TestCoreLCMIngestion (ingest-only check; no Horizon logic change).
  • unlimited-config-v30.xdr: append the 9 ML-DSA cost params so core accepts the v30 cost-params upgrade.
  • P30 CI leg builds core #5455 (67224757) from source; no stellar-rpc P30 image yet (RPC tests AMBER-skip).

Stacked on #237 (CAP-0084), whose commits show until it merges. Upstream: stellar/go-stellar-sdk#6003, stellar/stellar-core#5455. Downstream: stellar-rpc.

Repin go-stellar-sdk to the CAP-0084 XDR/strkey fork, bump
MaxSupportedProtocolVersion to 30, add v30 test fixtures, and cover
muxed-contract SAC destinations in ingestion tests.
XDR regenerated from stellar-xdr ee040cd6 with CAP_0084_MUXED_CONTRACT, matching stellar-core#5472.
Adds the muxed-contract SAC transfer/mint vectors and asserts destination_muxed_id survives ingestion.
P30 builds core #5472 from source (no -vnext artifact) and runs without a stellar-rpc image.
#5472 is merged and Jenkins has published its vnext deb and image, so the leg
no longer builds the pre-merge head from source.
SAC transfers and mints to a CAP-0084 muxed contract now carry contract_muxed
and contract_muxed_id, as account_credited does for muxed accounts. Repins
go-stellar-sdk to #6015 (70bad4ef) for the new ContractCredited fields.
Picks up ContractCostType 86-94 (CAP_0087_ML_DSA alongside CAP_0084_MUXED_CONTRACT).
ML-DSA-44/65/87 and ML-DSA-44 empty-context captures from test-lcm-next at 67224757.
…#5455

Core rejects any v30 cost-params upgrade without the 9 ML-DSA entries (types 86-94),
so append #1737's calibrated values. No -vnext package exists for #5455, so build it from source.
@tamirms

tamirms commented Oct 16, 2026

Copy link
Copy Markdown
Contributor

Closing in favor of #237, which merged into protocol-next with all three Protocol 30 CAPs. It pins the merged stellar/go-stellar-sdk#6015 instead of the fork, and its unlimited-config-v30.xdr already has the ML-DSA cost params.

The four ML-DSA test vectors here were recorded from stellar/stellar-core#5455, which hasn't merged. The stellar-core 30.0.0 release candidate's test-lcm-current has no ML-DSA vectors yet, so there's nothing to sync from core for them.

@tamirms tamirms closed this Oct 16, 2026
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