Skip to content

[DX-2827] remove v1 capabilities and contracts from the local CRE#22262

Open
Tofel wants to merge 18 commits intodevelopfrom
dx-2827-remove-v1-caps-contracts
Open

[DX-2827] remove v1 capabilities and contracts from the local CRE#22262
Tofel wants to merge 18 commits intodevelopfrom
dx-2827-remove-v1-caps-contracts

Conversation

@Tofel
Copy link
Copy Markdown
Contributor

@Tofel Tofel commented Apr 30, 2026

This branch drops v1 capability and contract paths from the local CRE stack and aligns environment scripts, system tests, and CI on the current (v2-style) surface. Example workflows are flattened (no v2/ subtree; v1 proof-of-reserve sample removed). MinIO, mock capability helpers, and system-tests/lib/crecli settings are removed.

System tests: v1/v2 splits under system-tests/lib/cre/features are merged into single implementations (e.g. EVM, consensus, Solana); log-event-trigger, mock, read_contract, web_api trigger/target, and related generated/mock gRPC code are removed. Large CRE load tests and some benchmark TOML/JSON fixtures are deleted. Smoke/regression tests are renamed from v2_* to neutral names and suites/registry wiring are updated.

@github-actions
Copy link
Copy Markdown
Contributor

I see you updated files related to core. Please run make gocs in the root directory to add a changeset as well as in the text include at least one of the following tags:

  • #added For any new functionality added.
  • #breaking_change For any functionality that requires manual action for the node to boot.
  • #bugfix For bug fixes.
  • #changed For any change to the existing functionality.
  • #db_update For any feature that introduces updates to database schema.
  • #deprecation_notice For any upcoming deprecation functionality.
  • #internal For changesets that need to be excluded from the final changelog.
  • #nops For any feature that is NOP facing and needs to be in the official Release Notes for the release.
  • #removed For any functionality/config that is removed.
  • #updated For any functionality that is updated.
  • #wip For any change that is not ready yet and external communication about it should be held off till it is feature complete.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 30, 2026

✅ No conflicts with other open PRs targeting develop

@trunk-io
Copy link
Copy Markdown

trunk-io Bot commented Apr 30, 2026

Static BadgeStatic BadgeStatic BadgeStatic Badge

Failed Test Failure Summary Logs
TestValidate The test failed during execution, but the log indicates it was a known flaky test. Logs ↗︎
TestFluxMonitor_UsesPreviousRoundStateOnStartup_RoundTimeout The test failed due to a known flaky issue related to ticket DX-1845. Logs ↗︎
TestFluxMonitor_PollIfEligible_Creates_JobErr The test failed during execution without providing specific error details. Logs ↗︎
TestFluxMonitor_DrumbeatTicker The test 'TestFluxMonitor_DrumbeatTicker' failed without providing specific error details. Logs ↗︎

... and 15 more

View Full Report ↗︎Docs

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 30, 2026

CORA - Pending Reviewers

All codeowners have approved! ✅

Legend: ✅ Approved | ❌ Changes Requested | 💬 Commented | 🚫 Dismissed | ⏳ Pending | ❓ Unknown

For more details, see the full review summary.

@Tofel Tofel force-pushed the dx-2827-remove-v1-caps-contracts branch from e28a46f to e9f2b63 Compare May 5, 2026 11:18
@Tofel Tofel force-pushed the dx-2827-remove-v1-caps-contracts branch from d872c22 to d60961b Compare May 6, 2026 12:56
@Tofel Tofel marked this pull request as ready for review May 6, 2026 13:43
Copilot AI review requested due to automatic review settings May 6, 2026 13:43
@Tofel Tofel requested review from a team as code owners May 6, 2026 13:43
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Risk Rating: HIGH

This PR removes legacy (v1) CRE capabilities/contracts and “contracts-version” switching, standardizing local CRE + system tests on a single (v2) registry/contract path and updating workflow examples/tests accordingly.

Changes:

  • Removes v1 capabilities/contracts plumbing (flags, features, docs, configs) and simplifies environment setup to a single contract set.
  • Updates system tests and workflow paths/imports to the non-versioned workflow example locations (e.g., .../workflows/cron, .../workflows/proof-of-reserve/...).
  • Adds/reshapes smoke/regression coverage (new regression tests, suite scenario bucketing, log streaming test).

Scrupulous human review recommended for:

  • Forwarder configuration flow now requiring a qualifier (deployment changes): deployment/keystone/changeset/deploy_forwarder.go + deployment/cre/forwarder/configure.go.
  • CLI workflow deploy/delete contract resolution logic after removing --with-contracts-version: core/scripts/cre/environment/environment/workflow.go.
  • New Loki log streaming test network behavior/timeouts: system-tests/tests/smoke/cre/log_streaming_test.go.

Reviewed changes

Copilot reviewed 111 out of 144 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
system-tests/tests/test-helpers/t_helpers.go Updates workflow type imports and consolidates PoR workflow config handling.
system-tests/tests/soak/cre/soak_test.go Switches soak PoR workflow path/constants to non-v2 location.
system-tests/tests/smoke/cre/vault_don_test_helpers.go Removes an unused vault workflow helper wrapper.
system-tests/tests/smoke/cre/upgrade_suite_test.go Switches suite config import path away from “v2suite”.
system-tests/tests/smoke/cre/solana_capability_test.go Import ordering fix after refactor.
system-tests/tests/smoke/cre/sharding_test.go Updates cron workflow import/path and test name reference.
system-tests/tests/smoke/cre/por_helpers.go Moves PoR workflow constants/types to new module path; updates config struct usage.
system-tests/tests/smoke/cre/log_streaming_test.go Adds Loki log-streaming validation test.
system-tests/tests/smoke/cre/httpaction/main.go Updates comment to match renamed test file.
system-tests/tests/smoke/cre/http_trigger_action_test.go Updates workflow path to non-v2 http_simple example.
system-tests/tests/smoke/cre/http_action_test.go Removes “[v2]” prefixes from test names.
system-tests/tests/smoke/cre/grpc_source_test.go Updates cron workflow path and removes contracts-version flag usage.
system-tests/tests/smoke/cre/dontime_test.go Updates workflow path/import to non-v2 time_consensus example.
system-tests/tests/smoke/cre/cron_beholder_test.go Updates cron workflow path/import to non-v2 location.
system-tests/tests/smoke/cre/consensus_capability_test.go Updates node-mode workflow path to non-v2 location.
system-tests/tests/smoke/cre/config/bucketing.go Adds suite scenario/bucketing definitions for CI balancing.
system-tests/tests/smoke/cre/billing_test.go Updates cron workflow import/path to non-v2 location.
system-tests/tests/smoke/cre/billing_helpers.go Adds an unused-symbol anchor for billing stack helper.
system-tests/tests/regression/cre/http_action_regression_test.go Adds HTTP Action negative regression test harness.
system-tests/tests/regression/cre/cron_beholder_regression_test.go Updates cron workflow path/import to non-v2 location.
system-tests/tests/regression/cre/cre_regression_suite_test.go Renames tests to drop “V2” naming and updates go test instructions.
system-tests/tests/regression/cre/consensus_regression_test.go Adds consensus negative regression test harness.
system-tests/tests/load/cre/workflow-don-benchmark-ci.toml Removes legacy load-test config file.
system-tests/tests/load/cre/performance_reports/TestLoad_Workflow_Streams_MockCapabilities-baseline.json Removes legacy performance baseline artifact.
system-tests/tests/load/cre/LOAD_TEST_README.md Removes outdated load test README.
system-tests/tests/canaries_sentinels/README.md Removes “contracts-version” mention; updates start instructions.
system-tests/lib/go.mod Moves yaml.v3 to indirect dependency.
system-tests/lib/cre/types.go Removes v1/v2 registry toggles and legacy capability flags/interfaces.
system-tests/lib/cre/mock/utils.go Removes mock capability protobuf map utilities.
system-tests/lib/cre/flags/provider.go Removes legacy capability flags from default providers.
system-tests/lib/cre/flags/flags.go Updates forwarder requirement logic after removing write-evm.
system-tests/lib/cre/flags/flags_test.go Updates tests to match revised forwarder requirement logic.
system-tests/lib/cre/features/web_api_trigger/web_api_trigger.go Removes legacy web-api-trigger feature implementation.
system-tests/lib/cre/features/web_api_target/web_api_target.go Removes legacy web-api-target feature implementation.
system-tests/lib/cre/features/solana/solana.go Renames package and updates consensus DON selection/job naming.
system-tests/lib/cre/features/sets/sets.go Rebuilds feature set to only include supported capabilities/features.
system-tests/lib/cre/features/read_contract/read_contract.go Removes legacy read-contract feature implementation.
system-tests/lib/cre/features/mock/mock.go Removes legacy mock capability feature implementation.
system-tests/lib/cre/features/log_event_trigger/log_event_trigger.go Removes legacy log-event-trigger feature implementation.
system-tests/lib/cre/features/custom_compute/custom_compute.go Removes legacy custom-compute feature implementation.
system-tests/lib/cre/environment/environment.go Simplifies env setup (always v2 registries/contracts); removes S3 startup/wf filter wait.
system-tests/lib/cre/environment/config/config.go Removes v1/v2 contract-set switching; defaults to v2 contract set only.
system-tests/lib/cre/don/config/config.go Updates comment after removing write-evm specific transformer usage.
system-tests/lib/cre/don.go Updates consensus flag checks after consolidating capability flags.
system-tests/lib/cre/contracts/ocr3.go Removes legacy OCR3 deploy helper (sequence wrapper).
system-tests/lib/cre/chiprouter/router.go Ensures CTF_CONFIGS is set when initializing chiprouter client.
system-tests/lib/cre/capabilities/builder.go Removes registry v1 config fn plumbing; keeps only v2 registry config fn.
go.md Updates dependency graph references to new workflow paths and removes v1 references.
docs/local-cre/system-tests/ci-and-suite-maintenance.md Updates test names/topology overrides to non-v2 naming.
docs/local-cre/getting-started/index.md Removes example for starting against v1 contracts.
docs/local-cre/environment/workflows.md Removes --with-contracts-version from documented deploy flags.
docs/local-cre/environment/index.md Removes --with-contracts-version from documented env start flags.
deployment/keystone/changeset/test/env_setup.go Filters forwarder address refs by type+qualifier; exposes qualifier accessor.
deployment/keystone/changeset/deploy_forwarder.go Adds qualifier to forwarder configuration request and passes through to sequence.
deployment/keystone/changeset/deploy_forwarder_test.go Updates tests to pass qualifier through ConfigureForwardContractsRequest.
deployment/cre/forwarder/configure.go Requires qualifier in forwarder lookup; errors on 0 or >1 matches.
deployment/cre/forwarder/configure_test.go Updates tests for qualifier usage; adds shared-qualifier multi-chain coverage.
core/scripts/go.sum Adds sums for PoR v2 module pseudo-version usage.
core/scripts/go.mod Updates replace to new PoR module path; tweaks indirect requirements.
core/scripts/cre/environment/mock/trigger_types.go Removes mock trigger tooling from scripts.
core/scripts/cre/environment/main.go Removes minio/mock commands from CLI wiring.
core/scripts/cre/environment/examples/workflows/v1/proof-of-reserve/cron-based/types/types.go Removes v1 PoR workflow config types.
core/scripts/cre/environment/examples/workflows/v1/proof-of-reserve/cron-based/go.mod Removes v1 PoR workflow module definition.
core/scripts/cre/environment/examples/workflows/time/main.go Adds simple time workflow example (wasip1).
core/scripts/cre/environment/examples/workflows/time/go.sum Adds module sums for time workflow example.
core/scripts/cre/environment/examples/workflows/time/go.mod Adds module definition for time workflow example.
core/scripts/cre/environment/examples/workflows/time_consensus/main.go Adds time consensus workflow example (wasip1).
core/scripts/cre/environment/examples/workflows/time_consensus/go.sum Adds module sums for time_consensus example.
core/scripts/cre/environment/examples/workflows/time_consensus/go.mod Adds module definition for time_consensus example.
core/scripts/cre/environment/examples/workflows/proof-of-reserve/cron-based/types/types.go Adds non-v2 PoR workflow config types.
core/scripts/cre/environment/examples/workflows/proof-of-reserve/cron-based/go.mod Renames PoR workflow module path; adjusts dependencies.
core/scripts/cre/environment/examples/workflows/node-mode/go.sum Adds module sums for node-mode example module.
core/scripts/cre/environment/examples/workflows/node-mode/go.mod Adds module definition for node-mode example module.
core/scripts/cre/environment/examples/workflows/http/main.go Adds HTTP workflow example (wasip1).
core/scripts/cre/environment/examples/workflows/http/go.sum Adds module sums for HTTP workflow example.
core/scripts/cre/environment/examples/workflows/http/go.mod Adds module definition for HTTP workflow example.
core/scripts/cre/environment/examples/workflows/http_simple/main.go Adds simplified HTTP workflow example (wasip1).
core/scripts/cre/environment/examples/workflows/http_simple/go.sum Adds module sums for http_simple example.
core/scripts/cre/environment/examples/workflows/http_simple/go.mod Adds module definition for http_simple example.
core/scripts/cre/environment/examples/workflows/cron/types/types.go Adds cron workflow config type at non-v2 path.
core/scripts/cre/environment/examples/workflows/cron/main.go Updates import path for cron workflow config types.
core/scripts/cre/environment/examples/workflows/cron/go.sum Updates sums after cron module path move.
core/scripts/cre/environment/examples/workflows/cron/go.mod Renames cron workflow module path to non-v2.
core/scripts/cre/environment/examples/workflows/cron/config.json Adds example cron workflow JSON config.
core/scripts/cre/environment/environment/workflow.go Removes contracts-version flag usage and changes contract resolution defaults.
core/scripts/cre/environment/environment/swap.go Removes force flag from capability swap command.
core/scripts/cre/environment/environment/state_resolver.go Removes semver-from-flag parsing helper.
core/scripts/cre/environment/environment/examples.go Removes contracts-version flag usage for example deploy command.
core/scripts/cre/environment/environment/environment.go Removes contracts-version switching; simplifies contract-version wiring.
core/scripts/cre/environment/docs/topologies/workflow-gateway-sharded-don.md Updates capability matrix to match removed legacy capabilities.
core/scripts/cre/environment/docs/topologies/workflow-gateway-sharded-5-dons.md Updates capability matrix to match removed legacy capabilities.
core/scripts/cre/environment/docs/topologies/workflow-gateway-mock-don.md Removes legacy mock-don topology doc.
core/scripts/cre/environment/docs/topologies/workflow-gateway-don.md Updates capability matrix to match removed legacy capabilities.
core/scripts/cre/environment/docs/topologies/workflow-gateway-don-grpc-source.md Updates capability matrix to match removed legacy capabilities.
core/scripts/cre/environment/docs/topologies/workflow-gateway-capabilities-don.md Updates capability matrix to match removed legacy capabilities.
core/scripts/cre/environment/docs/topologies/workflow-gateway-capabilities-don-vault-jwt_auth-enabled.md Updates capability matrix to match removed legacy capabilities.
core/scripts/cre/environment/docs/topologies/workflow-don-tron.md Removes legacy tron topology doc.
core/scripts/cre/environment/docs/topologies/workflow-don-solana.md Updates capability matrix to match removed legacy capabilities.
core/scripts/cre/environment/docs/TOPOLOGIES.md Removes legacy tron/mock topology entries.
core/scripts/cre/environment/configs/workflow-gateway-sharded-don.toml Removes legacy capabilities from sharded topology config.
core/scripts/cre/environment/configs/workflow-gateway-sharded-5-dons.toml Removes legacy capabilities from sharded multi-don topology config.
core/scripts/cre/environment/configs/workflow-gateway-mock-don.toml Removes legacy mock-don topology config.
core/scripts/cre/environment/configs/workflow-gateway-don.toml Removes legacy capabilities from default topology config.
core/scripts/cre/environment/configs/workflow-gateway-don-grpc-source.toml Removes legacy capabilities; updates “Used by” comment.
core/scripts/cre/environment/configs/workflow-gateway-capabilities-don.toml Removes legacy capabilities from capabilities topology config.
core/scripts/cre/environment/configs/workflow-gateway-capabilities-don-vault-jwt_auth-enabled.toml Removes legacy capabilities from vault JWT auth topology config.
core/scripts/cre/environment/configs/workflow-don-tron.toml Removes legacy tron topology config.
core/scripts/cre/environment/configs/workflow-don-solana.toml Removes legacy capabilities from solana topology config.
core/scripts/cre/environment/configs/examples/workflow-don-overrides.toml Updates override example to new capability names/overrides.
core/scripts/cre/environment/configs/capability_defaults.toml Removes defaults for removed legacy capabilities.
core/scripts/cre/environment/completions.go Removes --with-contracts-version from shell completion tree.
.github/workflows/cre-regression-system-tests.yaml Removes v1/v2 contract-version matrix; always starts CRE once way.
Comments suppressed due to low confidence (1)

deployment/keystone/changeset/deploy_forwarder.go:117

  • ConfigureForwardContractsRequest.Validate() only checks WFNodeIDs, but ConfigureSeq now always filters forwarder contracts by Qualifier. If Qualifier is left empty (the zero value), ConfigureForwardContracts will fail to find any forwarder contracts for chains where the deployed forwarders use a non-empty qualifier. Consider validating that Qualifier is non-empty (or defaulting it explicitly) so callers don’t accidentally pass "" and get a confusing runtime failure (e.g., current call sites that don’t set Qualifier will break).

Comment thread core/scripts/cre/environment/environment/workflow.go Outdated
Comment thread system-tests/tests/smoke/cre/billing_helpers.go
@Tofel Tofel enabled auto-merge May 7, 2026 08:54
@cl-sonarqube-production
Copy link
Copy Markdown

@mchain0 mchain0 requested a review from chudilka1 May 7, 2026 14:27
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.

4 participants