Skip to content

Stellar contract upgrade governance & migration plan #11

@truthixify

Description

@truthixify

Labels: Stellar Wave, stellar, design, governance, drips, help-wanted
Tier: M (2–4 days)
Type: design / writing

Context

Soroban contracts can be upgraded via the update_current_contract_wasm host function, but only if the contract opts in by storing an upgrade authority. We haven't decided what Wraith's upgrade story is for Stellar, and we need to before mainnet.

This issue is a design document, not code.

Scope

Produce a written proposal at contracts/stellar/GOVERNANCE.md answering:

  1. Per-contract upgradability — for each of the four Stellar contracts (announcer, registry, sender, wraith-names), should it be:
    • Frozen (no upgrade path; redeploy means new address) — recommended for announcer/registry?
    • Upgradable by a fixed multisig?
    • Upgradable by a timelock + multisig?
    • Eventually renounceable?
  2. Multisig composition — if we choose any upgrade path, what's the signer set? Recommend a starting composition and a 12-month transition plan.
  3. Migration UX — if announcer ever needs replacement, what's the experience for active users with un-scanned announcements? Propose an event-bridge strategy.
  4. Pause / circuit breaker — should stealth-sender have a pause function for emergencies? Argue both sides.
  5. Versioning — how do we communicate breaking changes via scheme_id increments (per ERC-5564) vs. contract redeploys?
  6. Comparison table vs. EVM equivalents — what would the same decision look like on Horizen?

Acceptance criteria

  • GOVERNANCE.md committed with all six sections.
  • Recommendation block at the top: "If we have to ship mainnet next week, what does the governance config look like?"
  • Companion follow-up issues filed for any concrete code changes needed to implement the chosen design.

Why this matters

Mainnet launch decisions become irreversible. We need an opinionated proposal we can debate, not a blank slate when we get there.

Resources

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programdesignVisual design workdripsFunded via Drips NetworkgovernanceProcess / governancehelp wantedExtra attention is neededstellarTouches Stellar / Soroban code

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions