Skip to content

feat(cli): support custom testnets in pluto run #531

Description

@emlautarom1-agent

Part of #402 — follow-up to the app-wiring PR.

Scope

Support the --testnet-* flags in pluto run: when the custom testnet config is fully specified, register it via eth2util::network::add_test_network before lock load / fork-version resolution (Charon app/app.go:171-173 at v1.7.1; create_cluster.rs already does this CLI-side, providing the precedent).

The run bridge currently fails fast on a fully-specified --testnet-* config (check_unsupported_flags in crates/cli/src/commands/run.rs) precisely so this isn't silently ignored — lift that rejection as part of this issue. Partially-specified testnet flags must remain ignored (Charon's IsNonZero gate; already mirrored by TestnetConfig::is_non_zero).

Known mapping hazards (from the bridge design): eth2util::Network uses &'static str fields (requires leaking the owned CLI strings or a Network redesign) and genesis_timestamp is i64 CLI-side vs u64 in Network.

Dependencies

None.

Acceptance

  • Fully-specified testnet registers before lock load; the lock's fork version then resolves against it.
  • Partial testnet flags stay ignored; the fail-fast is removed only for the supported path.
  • Test covering registration order (a lock with the custom fork version loads successfully).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestrustPull requests that update rust codetrack:orchestration-cliDev C — orchestration + CLI

    Type

    No type

    Fields

    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