Skip to content

VRF v2 removal: Solidity contracts - #583

Open
ibrajer wants to merge 4 commits into
developfrom
vrf-v2-contracts-removal
Open

ibrajer wants to merge 4 commits into
developfrom
vrf-v2-contracts-removal

Conversation

@ibrajer

@ibrajer ibrajer commented Oct 28, 2026

Copy link
Copy Markdown
Contributor

Deletes the VRF v2 Solidity contracts (VRFCoordinatorV2, VRFConsumerBaseV2, VRFV2Wrapper, consumers, test helpers and mocks), plus AuthorizedReceiver, KeepersVRFConsumer, VRFOwner and VRFSubscriptionBalanceMonitor, which import the v2 coordinator interface. Also removes their compile script entries.

Companion to the VRF v2 wrappers removal PR (#582); the two carry identical go_generate/version-file edits and can merge in either order.

🤖 Generated with Claude Code

Deletes the VRF v2 Solidity contracts (VRFCoordinatorV2,
VRFConsumerBaseV2, VRFV2Wrapper, consumers, test helpers, mocks and the
AuthorizedReceiver, KeepersVRFConsumer, VRFOwner and
VRFSubscriptionBalanceMonitor contracts that depend on the v2
coordinator interface) and removes their compile script entries.

Also removes the corresponding go:generate directives and wrapper
dependency-version entries (identical to the change in the VRF v2
wrappers removal PR, so the two can merge in either order).

Co-Authored-By: Claude Code <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

📊 API Diff Results

No changes detected for module github.com/smartcontractkit/chainlink-evm/gethwrappers

View full report

The contract was deleted in this branch but its compile entry was
missed, causing forge to fail with 'No source files found' and the
wrapper generation verification to panic.

Co-Authored-By: Claude Code <noreply@anthropic.com>
@ibrajer ibrajer self-assigned this Oct 28, 2026
ibrajer and others added 2 commits October 28, 2026 21:48
Wrapper regeneration updates these files to match the go-ethereum
version in contracts/cre/gobindings/go.mod (bumped to v1.17.4 earlier
in this PR), so they must be committed for the wrapper validation to
pass.

Co-Authored-By: Claude Code <noreply@anthropic.com>
The revert of #572 downgraded go-ethereum to v1.17.4 in the root and
gethwrappers modules but missed this nested module, causing the wrapper
generation to fail with an abigen version mismatch in CI. Same change
as in #571.

Co-Authored-By: Claude Code <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

📊 API Diff Results

No changes detected for module github.com/smartcontractkit/chainlink-evm/contracts/cre/gobindings

View full report

@ibrajer
ibrajer marked this pull request as ready for review October 28, 2026 20:58
Copilot AI balanced review requested due to automatic review settings October 28, 2026 20:59
@ibrajer
ibrajer requested review from a team as code owners October 28, 2026 20:59

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

No active review issues are recorded for the legacy VRF v2 removal.

No open issues 🎉

What changed in this PR

Removes the legacy VRF v2 Solidity implementation and supporting contracts, complementing the Go-wrapper removal in #582 while retaining VRF V2Plus support.

Changes:

  • Deletes VRF v2 coordinators, consumer bases, interfaces, examples, mocks, and test helpers.
  • Removes corresponding compilation targets, Go generation directives, and wrapper dependency records.
  • Updates CRE Go bindings to go-ethereum 1.17.4 and aligns dependency checksums and generation metadata.
File Description
gethwrappers/​go_generate_vrf.go Removes VRF v2 wrapper generation directives.
gethwrappers/​generation/​generated-wrapper-dependency-versions-do-not-edit.txt Removes VRF v2 wrapper dependency records.
contracts/​src/​v0.8/​vrf/​VRFV2WrapperConsumerBase.sol Deletes the v2 wrapper consumer base.
contracts/​src/​v0.8/​vrf/​VRFV2Wrapper.sol Deletes the v2 direct-funding wrapper.
contracts/​src/​v0.8/​vrf/​VRFSubscriptionBalanceMonitor.sol Deletes the v2 subscription funding monitor.
contracts/​src/​v0.8/​vrf/​VRFOwner.sol Deletes v2 coordinator administration utilities.
contracts/​src/​v0.8/​vrf/​VRFCoordinatorV2.sol Deletes the v2 coordinator implementation.
contracts/​src/​v0.8/​vrf/​VRFConsumerBaseV2.sol Deletes the v2 consumer base.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFV2WrapperUnderFundingConsumer.sol Deletes the underfunding test consumer.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFV2WrapperRevertingConsumerExample.sol Deletes the reverting wrapper consumer.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFV2WrapperOutOfGasConsumerExample.sol Deletes the out-of-gas wrapper consumer.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFV2WrapperLoadTestConsumer.sol Deletes the wrapper load-test consumer.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFV2WrapperConsumerExample.sol Deletes the wrapper consumer example.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFV2TransparentUpgradeableProxy.sol Deletes the v2 proxy test helper.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFV2RevertingExample.sol Deletes the reverting v2 consumer.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFV2ProxyAdmin.sol Deletes the v2 proxy administration helper.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFV2OwnerTestConsumer.sol Deletes the subscription-owner test consumer.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFV2LoadTestWithMetrics.sol Deletes the metrics-enabled load-test consumer.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFv2Consumer.sol Deletes the subscription consumer example.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFSubscriptionBalanceMonitorExposed.sol Deletes the balance-monitor test helper.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFSingleConsumerExample.sol Deletes the self-managed subscription example.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFMaliciousConsumerV2.sol Deletes the reentrancy test consumer.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFLoadTestExternalSubOwner.sol Deletes the externally funded load-test consumer.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFExternalSubOwnerExample.sol Deletes the external subscription-owner example.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFCoordinatorV2TestHelper.sol Deletes the v2 payment-calculation helper.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFCoordinatorTestV2.sol Deletes the v2 test coordinator.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFConsumerV2UpgradeableExample.sol Deletes the upgradeable v2 consumer example.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFConsumerV2.sol Deletes the v2 test consumer.
contracts/​src/​v0.8/​vrf/​test/​VRFCoordinatorV2Mock.t.sol Deletes tests for the removed coordinator mock.
contracts/​src/​v0.8/​vrf/​mocks/​VRFCoordinatorV2Mock.sol Deletes the v2 coordinator mock.
contracts/​src/​v0.8/​vrf/​KeepersVRFConsumer.sol Deletes the automation-integrated v2 consumer.
contracts/​src/​v0.8/​vrf/​interfaces/​VRFV2WrapperInterface.sol Deletes the v2 wrapper interface.
contracts/​src/​v0.8/​vrf/​interfaces/​VRFCoordinatorV2Interface.sol Deletes the v2 coordinator interface.
contracts/​src/​v0.8/​vrf/​interfaces/​IAuthorizedReceiver.sol Deletes the authorization interface.
contracts/​src/​v0.8/​vrf/​BatchVRFCoordinatorV2.sol Deletes the v2 batch fulfillment contract.
contracts/​src/​v0.8/​vrf/​AuthorizedReceiver.sol Deletes the authorization base used by VRFOwner.
contracts/​scripts/​native_solc_compile_all_vrf Removes compilation targets for deleted contracts.
contracts/​cre/​gobindings/​v2/​generation/​generated-wrapper-dependency-versions-do-not-edit.txt Aligns v2 generation metadata with Geth 1.17.4.
contracts/​cre/​gobindings/​v1/​generation/​generated-wrapper-dependency-versions-do-not-edit.txt Aligns v1 generation metadata with Geth 1.17.4.
contracts/​cre/​gobindings/​go.sum Updates Go dependency checksums.
contracts/​cre/​gobindings/​go.mod Updates go-ethereum and indirect dependencies.
contracts/​cre/​gobindings/​dev/​generation/​generated-wrapper-dependency-versions-do-not-edit.txt Aligns development generation metadata with Geth 1.17.4.

Review effort: Balanced

This branch has not been deployed

No deployments
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.

5 participants