Skip to content

Upgrade the toolchain to protocol 30 before testnet does #315

Open

Description

@hpmaxi

Priority

Medium — should be addressed soon

User story / Problem statement

The newest Stellar Quickstart image runs stellar-core and stellar-rpc v30, and its local network upgrades itself to protocol 30. There, the current toolchain cannot deploy any contract: every deploy simulation fails with HostError: Error(Context, InternalError) (#313). CI now pins the previous image (#311 on feedback, #314 on main). Testnet already runs core and RPC v30 at protocol 29; once validators vote protocol 30, testnet deploys may fail the same way.

As a maintainer, I want the toolchain to support protocol 30 before testnet moves, so deploys and CI keep working.

Expected outcome

The contracts build and deploy on a protocol 30 network, CI runs against one, and the image pin is gone.

Acceptance criteria

  • soroban-sdk, the OpenZeppelin stellar-* crates, stellar-cli, stellar-scaffold-cli and @stellar/stellar-sdk are on versions that support protocol 30
  • On a local protocol 30 network the contracts deploy, the clients generate and the harness suites pass
  • The workspace tests and the Wasm upgrade tests pass
  • CI no longer pins the quickstart image
  • A testnet deploy works after testnet moves to protocol 30

Alternatives considered

Keep the pin until testnet moves. CI would keep testing protocol 29, but the first deploy after the vote could fail with no warning.

Technical notes

Current pins: soroban-sdk =26.1.1, OpenZeppelin stellar-* =0.7.2, Rust 1.97.0, stellar-cli 27.0.0, stellar-scaffold-cli 0.0.27, @stellar/stellar-sdk 16.1.0. The cause of the InternalError on protocol 30 is not known yet; finding it comes first.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions