Skip to content

SEC-140: Generate unified Ethereum client configuration#36

Draft
huangminghuang wants to merge 3 commits into
masterfrom
fix/sec-140
Draft

SEC-140: Generate unified Ethereum client configuration#36
huangminghuang wants to merge 3 commits into
masterfrom
fix/sec-140

Conversation

@huangminghuang

@huangminghuang huangminghuang commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • generate one shared data/ethereum-client.json during the artifact-preparation step and pass it through --outpost-ethereum-client-config-file to every batch-operator and underwriter daemon
  • keep daemon argument builders pure: all filesystem writes remain inside the explicit preparation step, while create/run/restart/flow paths reuse the prepared artifact
  • use the stable process-local signature-provider id eth-default; each daemon registers its own Ethereum key under that name without sharing private keys across processes
  • omit transaction_policy from generated development-cluster files so nodeop applies maximum-uint256 defaults and preserves pre-policy behavior
  • retain typed support for optional explicit finite policies, including canonical numeric domains and the priority-fee/max-fee relationship; total native cost remains an independent runtime cap
  • leave bios and producer-only nodes without an Ethereum signing client or orphaned client-config option
  • document the shared file, process-local provider semantics, and production-policy boundary

Generated configuration

{
  "version": 1,
  "clients": [
    {
      "client_id": "eth-default",
      "signature_provider_id": "eth-default",
      "rpc_url": "http://127.0.0.1:<anvil-port>",
      "chain_id": "31337"
    }
  ]
}

The omitted policy intentionally selects nodeop's maximum-value defaults. Production policy selection remains outside wire-tools-ts.

Validation

  • pnpm --filter @wireio/cluster-tool build
  • focused configuration/operator suites: 34 tests passed
  • complete cluster-tool suite: 98 suites, 606 tests passed
  • repository lint: 0 errors; 126 existing warnings
  • git diff --check clean
  • current-head combined flow-swap-with-underwriting with wire-sysio#531: SUCCESS (40 phases, 127 steps, 935.1s); generated ethereum-client.json omitted transaction_policy, all four operator daemons used only --outpost-ethereum-client-config-file, and both ETH→SOL and SOL→ETH settlements completed
  • this repository currently reports no PR status checks

Dependency

Requires Wire-Network/wire-sysio#531 at current head for --outpost-ethereum-client-config-file and maximum-value default policies.

Jira: SEC-140

@huangminghuang huangminghuang changed the title SEC-140: Provision Anvil Ethereum transaction policy SEC-140: Generate unified Ethereum client configuration Jul 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant