Conversation
|
Claude finished @iamquang95's task in 3m 31s —— View job Code Review —
|
| Component | Go | Rust | Match | Notes |
|---|---|---|---|---|
--data-dir flag |
✓ CHARON_DATA_DIR |
✓ | ✓ | |
--definition-file flag |
✓ CHARON_DEFINITION_FILE |
✓ | ✓ | |
--no-verify flag |
✓ CHARON_NO_VERIFY |
✓ | ✓ | |
--timeout flag (default 1m) |
✓ | ✓ | ✓ | |
--publish-timeout (default 30s) |
✓ | ✓ | ✓ | |
--shutdown-delay (default 1s) |
✓ | ✓ | ✓ | |
--keymanager-address |
✓ | ✓ | ✓ | |
--keymanager-auth-token |
✓ | ✓ | ✓ | |
--p2p-relays |
✓ | ✓ | ✓ | |
--zipped flag |
✓ | ✓ | ✓ | |
--publish flag |
✓ | ✓ | ✓ | |
--execution-client-rpc-endpoint |
✓ | ✓ | ✓ | |
| Keymanager validation error strings | ✓ | ✓ | ✓ | exact match |
| validateKeymanager: trim() behavior | strips nothing | strips whitespace | ✗ | minor edge case |
| Operation order: validate → load | load → validate | validate → load | ✗ | intentional early-exit |
HasTestConfig guard |
4 fields | 1 field (def) |
partial | other fields not yet ported |
checkClearDataDir logic |
✓ | ✓ | ✓ | |
checkWrites logic |
✓ | ✓ | ✓ | |
| Private key lock file | ✓ | ✗ | ✗ | expected stub gap |
| Definition version check | ✓ | ✗ | ✗ | expected stub gap |
EthClient no-op on empty addr |
✓ (via noop runner) | ✓ | ✓ |
Tests
Tests observed in the diff — not executed locally (no cargo test run in this review):
dkg_is_registered_as_top_level_subcommand— sanity-checks CLI wiring ✓dkg_defaults_match_go— validates all default values against Go ✓invalid_duration_fails_during_parse— clap parse-time validation ✓dkg_args_expose_expected_env_bindings— env var contract check ✓config_mapping_preserves_fields— round-trip CLI → Config ✓run_passes_config_and_token_to_runner— runner receives correct config ✓run_rejects_mismatched_keymanager_flags/run_executes_preflight_*/run_surfaces_data_dir_*— coverage ofdkg::runpreflight ✓empty_address_returns_noop_client— eth1wrap no-op path ✓
Test coverage is strong for the stub scope.
Open Questions / Assumptions
- The
log-formatargument (console/logfmt/json) — is there a planned issue to wire this intoTracingConfig? Both relay and DKG have the same TODO. AppendConfig(Go's merge-two-DKG-ceremonies feature) — expected to remain absent until that feature is ported?- When adding the backend, will
TestConfigbe extended with callbacks (StoreKeysFunc,SyncCallback, etc.) at that point, or earlier?
Should address: #314
This covers only the entry point of
pluto dkg, not the full implementation ofdkg.