Skip to content

cardano-testnet: Split parsers into shared, env-only, and runtime-only #6460

@palas

Description

@palas

Problem

The current pCardanoTestnetCliOptions parser is shared between create-env and cardano subcommands, parameterised by a TestnetMode that only affects the tx-generator flag. This means create-env accepts and silently ignores runtime-only flags like --nodeLoggingFormat and --enable-new-epoch-state-logging.

Proposed fix

After splitting the options records (#6459), split the parser accordingly:

  • pSharedOptions — parses fields used by both phases (nodes, era, supply, dreps)
  • pEnvOnlyOptions — parses fields only for env creation (on-chain params)
  • pRuntimeOnlyOptions — parses fields only for runtime (logging format, epoch state logging, tx-generator)

The create-env parser combines pSharedOptions + pEnvOnlyOptions.
The cardano parser combines pSharedOptions + pEnvOnlyOptions + pRuntimeOnlyOptions.

This is ~20 lines of rearranging existing parser combinators in Parsers/Cardano.hs.

Depends on

Type: Refactoring

Effort: Low (~20 lines)

Risk: Low

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions