Skip to content

[Wave 6 10/10] Strict environment validation across services and frontend builds #33

Description

@karagozemin

Summary

Add strict environment validation for coordinator, resolver, relayer, and frontend builds so misconfigured testnet/mainnet deployments fail fast.

Context

  • Multiple packages read deployment-critical env vars directly from process.env or Vite envs.
  • Mainnet is intentionally disabled until audit, so accidental VITE_MAINNET_ENABLED=true or missing testnet contract ids should be obvious in CI/deploy logs.
  • The coordinator already depends on zod; a shared validation pattern can reduce runtime surprises.

Scope

  • Add env schema validation to coordinator and resolver startup.
  • Add frontend build-time checks for required testnet config and guarded mainnet enablement.
  • Add relayer validation for RPC URL, contract address, and timeout variables used by health/refund paths.
  • Document required env vars in env.example or package READMEs.

Acceptance criteria

  • Each service fails at startup/build with a clear error when required env vars are missing or malformed.
  • Mainnet enablement requires an explicit audited/deployment confirmation variable, not only VITE_MAINNET_ENABLED=true.
  • Tests or smoke scripts cover at least one invalid env case per affected package.
  • Env documentation is updated in one canonical place.

Pointers

  • coordinator/src/config.ts
  • resolver/src/config.ts
  • relayer/src/index.ts
  • relayer/src/phase6-bridge-service.ts
  • frontend/src/config/networks.ts
  • env.example
  • docs/DEPLOYMENT.md

Complexity

Medium (configuration safety across packages)

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programenhancementNew feature or requesthelp wantedExtra attention is needed

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions