Skip to content

Protocol-27 mainnet upgrade rollout: version bump + timelocked deploy #92

Description

@0xdevcollins

Contract · boundless-events + boundless-profile · P0 (blocking the protocol-27 mainnet upgrade)

Context

PR #87 aligns the build with Protocol 27 (soroban-sdk 27.0.0, Rust 1.93.0, stellar-cli 27.0.0) and lands on testnet. This issue tracks taking that build to mainnet.

Scope

  1. Version bump. contractmeta / INITIAL_VERSION are still 1.3.0 (post-feat(events): pull-model prize claims for Single-release events #90). A protocol/SDK bump is a real version event — bump both contracts to 1.4.0 in the deploy PR (not in chore: bump soroban-sdk to 27.0.0 and close out scanner noise #87, which is toolchain-only).
  2. Storage decode gate. Verify sdk 23→27 storage decode compatibility before mainnet protocol-27 upgrade #91 must be closed first — do not apply_upgrade on mainnet until sdk 23→27 read-compat is verified.
  3. Testnet first. Deploy the sdk-27 wasm fresh to testnet and run the full scripts/smoke/ lifecycle (create → apply → submit → select → claim → cancel/refund) plus the non-USDC smoke.
  4. Mainnet upgrade via H6 timelock, per docs/mainnet-deploy-runbook.md + docs/admin-custody-policy.md (multi-sig): build + commit the 1.4.0 wasm → propose_upgrade(hash, "1.4.0") → wait UPGRADE_TIMELOCK_LEDGERSapply_upgrade()migrate() (no-op stamp) → verify version() on both. Record in deployments/mainnet.json + deployments/mainnet-upgrades.jsonl.
  5. Ideally sequence after the third-party audit (P0), so the audited artifact is the protocol-27 build.

Notes

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions