[DX-2588] Migrate VRFv2Plus smoke tests to devenv#21542
Conversation
working BHS, multiple keys and batch tests migrated BHF, migration, replay and pending block tests -- none of them tested yet more robust fixes fix lints + remove old tests run vrfv2plus tests in universal nightly pipeline
|
✅ No conflicts with other open PRs targeting |
|
There was a problem hiding this comment.
Pull request overview
Risk Rating: HIGH — introduces a new vrfv2_plus devenv product (contracts + job wiring), migrates multiple VRFv2Plus suites, and updates nightly CI execution paths.
Migrates legacy VRFv2Plus smoke/migration/replay/batch/BHS/BHF/multi-key tests into the devenv harness by adding a dedicated vrfv2plus product, new contract wrappers, and new devenv test suites, then wiring nightly CI to run the devenv suites and removing legacy VRFv2Plus E2E entries.
Changes:
- Add
vrfv2_plusdevenv product (config schema, job spec templates, contract/job orchestration, env TOMLs). - Add new VRFv2Plus devenv test suites under
devenv/tests/vrfv2plus. - Update CI to run devenv VRFv2Plus tests nightly and remove legacy integration-test suite wiring.
Reviewed changes
Copilot reviewed 30 out of 30 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| devenv/tests/vrfv2plus/smoke_test.go | New VRFv2Plus smoke suite covering LINK/native billing, direct funding, confirmations, job runs, and admin ops. |
| devenv/tests/vrfv2plus/replay_test.go | New replay-after-timeout suite that recreates job spec to replay pending requests. |
| devenv/tests/vrfv2plus/pending_block_test.go | New pending-block simulation + 0-confirmations behavior test. |
| devenv/tests/vrfv2plus/multiple_keys_test.go | New suite verifying multiple TX sending keys are exercised. |
| devenv/tests/vrfv2plus/migration_test.go | New suite validating sub migration to upgraded coordinator (sub + wrapper paths). |
| devenv/tests/vrfv2plus/helpers.go | Shared helpers for subscription funding, request/fulfillment waiting, and funding reconciliation. |
| devenv/tests/vrfv2plus/bhs_test.go | New BHS suite validating blockhash storage and “fund later” fulfillment. |
| devenv/tests/vrfv2plus/bhf_test.go | New BHF suite validating batch BHS forwarding path and eventual fulfillment. |
| devenv/tests/vrfv2plus/batch_test.go | New batch fulfillment enabled/disabled assertions including tx destination and log counts. |
| devenv/products/vrfv2plus/basic.toml | Base vrfv2plus product config used by smoke/migration. |
| devenv/products/vrfv2plus/batch.toml | Batch-fulfillment vrfv2plus product config. |
| devenv/products/vrfv2plus/bhs.toml | BHS-enabled vrfv2plus product config. |
| devenv/products/vrfv2plus/bhf.toml | BHF-enabled vrfv2plus product config. |
| devenv/products/vrfv2plus/replay.toml | Replay-focused vrfv2plus product config (short request timeout). |
| devenv/products/vrfv2plus/pending_block.toml | Pending-block simulation config (0 min confirmations). |
| devenv/products/vrfv2plus/two_keys.toml | Multi-TX-key vrfv2plus product config. |
| devenv/products/vrfv2plus/job_spec.go | VRFv2Plus pipeline + job-spec template rendering helpers. |
| devenv/products/vrfv2plus/job_spec_bhs.go | BlockhashStore job spec template. |
| devenv/products/vrfv2plus/job_spec_bhf.go | BlockheaderFeeder job spec template. |
| devenv/products/vrfv2plus/core.go | Main orchestration: node keys, funding, contract deploys, VRF/BHS/BHF job creation, wrapper setup. |
| devenv/products/vrfv2plus/configuration.go | Product config types + loader/storer for vrfv2_plus. |
| devenv/environment.go | Registers vrfv2_plus as a supported devenv product. |
| devenv/env-vrf2plus.toml | New env definition for VRFv2Plus single-node topology. |
| devenv/env-vrf2plus-bhX.toml | New env definition for BHS/BHF topologies (multi-node). |
| devenv/contracts/vrf.go | Adds VRFv2Plus-related contract wrappers and deploy/load helpers. |
| devenv/products/evm.go | Adds EtherToGwei utility used by VRFv2Plus setup. |
| devenv/.gitignore | Ignores *-out.toml outputs (devenv generated outputs). |
| .github/workflows/devenv-nightly.yml | Adds nightly matrix entries to run devenv VRFv2Plus suites. |
| .github/workflows/on-demand-vrfv2plus-smoke-tests.yml | Removes legacy on-demand workflow for old integration-test suite. |
| .github/e2e-tests.yml | Removes legacy integration-tests VRFv2Plus matrix entries/workflows. |
You can also share your feedback on Copilot code review. Take the survey.
|




Summary
migrate legacy VRFv2Plus smoke/migration/replay/batch/BHS/BHF/multi-key tests into devenv with new test suite and helpers under devenv/tests/vrfv2plus
add a full vrfv2_plus devenv product (configs, job specs, core/configuration, env files, and contract wrappers) to support the new test flow
wire nightly CI to run the new devenv VRFv2Plus suites and remove legacy VRFv2Plus entries/workflows from E2E config
Successful "nightly" run: https://github.com/smartcontractkit/chainlink/actions/runs/23190394113
Not migrated:
Not tested: