Skip to content

[Epic] Protocol 28 - Data Team #470

Description

@sydneynotthecity

Background

Protocol 28 has three CAPs under consideration (final inclusion decision expected 7/28 per the P28 timeline). This epic tracks the work needed to ensure Hubble decodes the new XDR correctly and existing models/processors don't silently break or drop data.

CAP-0083 — Vote to drop the transaction set (Accepted)
CAP-0085 — Externally managed contract executables (Final Comment Period)
CAP-0086 — Sparse map host functions (Final Comment Period; At Risk for not Making Scope)
Slack: #protocol-28

Update 7/28: CAP-0084 (muxed contract addresses) will not be ready for Protocol 28 and has been removed from this epic. It does not block crossmint/mgi (Slack announcement).

Impact summary: CAP-0083 and CAP-0086 should be no-ops (though please confirm that we don't parse the transaction set); CAP-0085 incurs minor changes with a new ContractExecutable and SCVal type.

XDR Impact

New types/arms across the three CAPs:

  • StellarValueType gains STELLAR_VALUE_EMPTY_TX_SET = 2, a new ext arm on StellarValue (proposedValue struct) in LedgerHeader.scpValue (CAP-0083)
  • ContractExecutableType gains CONTRACT_EXECUTABLE_EXTERNAL_REF = 2 with new ContractExecutableExternalRef struct; SCValType gains SCV_EXECUTABLE_TAG = 22 with SCString payload (CAP-0085)
  • CAP-0086 has no XDR changes (new host functions only)

Primary risk: any code path that XDR-decodes LedgerCloseMeta, an SCVal, or a contract instance entry will error on the new union arms unless the SDK is bumped. Everything else is verification.

Upgrade checklist

  • Confirm final CAP list after the 7/28 inclusion decision and trim this epic accordingly
  • Bump and deploy go-stellar-xdr-json
  • Upgrade the go-stellar-sdk version and go-stellar-xdr-json libraries in stellar-etl
  • Adapt XDR transforms to support new XDR fields
  • Add schema changes to stellar-dbt raw models for new fields
  • Bump Galexie to use latest core stable build
  • Bump dependencies in ledger data indexer
  • Deploy Protocol 28 on Testnet and run stellar-etl + stellar-dbt against it — validate no processor crashes or silent data drops (testnet vote: 8/19); Deploying services includes: stellar-etl, stellar-dbt, stellar-dbt-public, Galexie, ledger-data-indexer
  • Data stable release (8/11 - 8/13 per timeline, depends on Galexie + go SDK)
  • Deploy to Mainnet and validate (mainnet vote: 9/9)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions