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).
Part of #402 — follow-up to the app-wiring PR.
Scope
Support the
--testnet-*flags inpluto run: when the custom testnet config is fully specified, register it viaeth2util::network::add_test_networkbefore lock load / fork-version resolution (Charonapp/app.go:171-173at v1.7.1;create_cluster.rsalready does this CLI-side, providing the precedent).The run bridge currently fails fast on a fully-specified
--testnet-*config (check_unsupported_flagsincrates/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'sIsNonZerogate; already mirrored byTestnetConfig::is_non_zero).Known mapping hazards (from the bridge design):
eth2util::Networkuses&'static strfields (requires leaking the owned CLI strings or aNetworkredesign) andgenesis_timestampisi64CLI-side vsu64inNetwork.Dependencies
None.
Acceptance