Skip to content

VRF v2 removal: Go wrappers, generation and txmgr transmit checker - #582

Open
ibrajer wants to merge 1 commit into
developfrom
vrf-v2-removal-part2
Open

ibrajer wants to merge 1 commit into
developfrom
vrf-v2-removal-part2

Conversation

@ibrajer

@ibrajer ibrajer commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Deletes the generated Go wrappers for the VRF v2 contracts, their go:generate directives and wrapper dependency-version entries, and the VRFV2 transmit checker in pkg/txmgr. The V2 plus checker is renamed from VRFV2Checker to VRFV2PlusChecker since it is now the only VRF v2 checker remaining.

Companion PR removes the v2 Solidity contracts themselves; the two can merge in either order (they carry identical go_generate/version-file edits).

Originally part of #571 (VRF v1 + v2 removal), split out to keep each PR's diff under GitHub's 20,000-line limit so golangci-lint's only-new-issues mode works.

Copilot AI balanced review requested due to automatic review settings October 28, 2026 15:50
@ibrajer
ibrajer requested review from a team as code owners October 28, 2026 15:50
@ibrajer
ibrajer marked this pull request as draft October 28, 2026 15:52
@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

@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

⚠️ API Diff Results - github.com/smartcontractkit/chainlink-evm/gethwrappers

⚠️ Breaking Changes (22)

package github (22)
  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/batch_vrf_coordinator_v2 — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/keepers_vrf_consumer — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/solidity_vrf_verifier_wrapper — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/vrf_consumer_v2 — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/vrf_consumer_v2_upgradeable_example — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/vrf_coordinator_test_v2 — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/vrf_coordinator_v2 — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/vrf_external_sub_owner_example — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/vrf_load_test_external_sub_owner — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/vrf_load_test_with_metrics — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/vrf_malicious_consumer_v2 — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/vrf_owner — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/vrf_owner_test_consumer — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/vrf_single_consumer_example — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/vrf_v2_consumer_wrapper — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/vrfv2_proxy_admin — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/vrfv2_reverting_example — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/vrfv2_transparent_upgradeable_proxy — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/vrfv2_wrapper — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/vrfv2_wrapper_consumer_example — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/vrfv2_wrapper_interface — 🗑️ Removed

  • com/smartcontractkit/chainlink-evm/gethwrappers/generated/vrfv2_wrapper_load_test_consumer — 🗑️ Removed


📄 View full apidiff report

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

The review identifies no active issues with the legacy VRF removal.

No open issues 🎉

What changed in this PR

Removes legacy VRF support from the contracts, generated Go bindings, and transaction manager while retaining VRF V2 Plus. This PR is stacked on #571, so the reviewed diff also includes VRF V1 removal and the related binding-version alignment.

Changes:

  • Removes legacy VRF contracts, consumers, mocks, helpers, and associated binding-generation entries.
  • Removes V1/V2 transmit checkers and renames the remaining checker to VRFV2PlusChecker, updating tests accordingly.
  • Aligns CRE Go bindings and generation metadata with go-ethereum v1.17.4.
File Description
pkg/​txmgr/​txmgr_test.go Uses the V2 Plus checker in transaction tests.
pkg/​txmgr/​transmitchecker.go Removes legacy checkers and renames the retained checker.
pkg/​txmgr/​transmitchecker_test.go Removes legacy tests and updates V2 Plus references.
pkg/​txmgr/​models.go Removes V1/V2 checker constants.
gethwrappers/​go_generate_vrf.go Removes legacy binding-generation directives.
gethwrappers/​generated/​vrfv2_wrapper_interface/​vrfv2_wrapper_interface.go Deletes the V2 wrapper interface binding.
gethwrappers/​generated/​vrf_ownerless_consumer_example/​vrf_ownerless_consumer_example.go Deletes the V1 ownerless consumer binding.
gethwrappers/​generated/​vrf_load_test_ownerless_consumer/​vrf_load_test_ownerless_consumer.go Deletes the V1 load-test consumer binding.
gethwrappers/​generated/​solidity_vrf_wrapper/​solidity_vrf_wrapper.go Deletes the legacy VRF binding.
gethwrappers/​generated/​solidity_vrf_request_id/​solidity_vrf_request_id.go Deletes the legacy request-ID helper binding.
gethwrappers/​generated/​solidity_vrf_request_id_v08/​solidity_vrf_request_id_v08.go Deletes the Solidity 0.8 request-ID helper binding.
gethwrappers/​generated/​solidity_vrf_consumer_interface/​solidity_vrf_consumer_interface.go Deletes the legacy consumer binding.
gethwrappers/​generated/​solidity_vrf_consumer_interface_v08/​solidity_vrf_consumer_interface_v08.go Deletes the Solidity 0.8 V1 consumer binding.
contracts/​src/​v0.8/​vrf/​VRFV2WrapperConsumerBase.sol Deletes the V2 wrapper consumer base.
contracts/​src/​v0.8/​vrf/​VRFSubscriptionBalanceMonitor.sol Deletes the V2 subscription funding monitor.
contracts/​src/​v0.8/​vrf/​VRFRequestIDBase.sol Deletes V1 request-ID generation.
contracts/​src/​v0.8/​vrf/​VRFOwner.sol Deletes V2 coordinator administration utilities.
contracts/​src/​v0.8/​vrf/​VRFConsumerBaseV2.sol Deletes the V2 consumer base.
contracts/​src/​v0.8/​vrf/​VRFConsumerBase.sol Deletes the V1 consumer base.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFV2WrapperUnderFundingConsumer.sol Deletes the underfunded V2 wrapper helper.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFV2WrapperRevertingConsumerExample.sol Deletes the reverting V2 wrapper helper.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFV2WrapperOutOfGasConsumerExample.sol Deletes the out-of-gas V2 wrapper helper.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFV2WrapperLoadTestConsumer.sol Deletes the V2 wrapper load-test consumer.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFV2WrapperConsumerExample.sol Deletes the V2 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 administrator helper.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFV2OwnerTestConsumer.sol Deletes the V2 owner test consumer.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFV2LoadTestWithMetrics.sol Deletes the V2 load-test metrics consumer.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFv2Consumer.sol Deletes the subscription-based V2 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 subscription-owning V2 example.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFRequestIDBaseTestHelper.sol Deletes the V1 request-ID test helper.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFOwnerlessConsumerExample.sol Deletes the ownerless V1 example.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFMaliciousConsumerV2.sol Deletes the V2 reentrancy test consumer.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFLoadTestOwnerlessConsumer.sol Deletes the ownerless V1 load-test consumer.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFLoadTestExternalSubOwner.sol Deletes the externally funded V2 load-test consumer.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFExternalSubOwnerExample.sol Deletes the external-subscription V2 example.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFCoordinatorV2TestHelper.sol Deletes the V2 payment-calculation helper.
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/​testhelpers/​VRFConsumer.sol Deletes the V1 test consumer.
contracts/​src/​v0.8/​vrf/​test/​VRFCoordinatorV2Mock.t.sol Deletes V2 coordinator mock tests.
contracts/​src/​v0.8/​vrf/​mocks/​VRFCoordinatorV2Mock.sol Deletes the V2 coordinator mock.
contracts/​src/​v0.8/​vrf/​mocks/​VRFCoordinatorMock.sol Deletes the V1 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 VRF authorization interface.
contracts/​src/​v0.8/​vrf/​BatchVRFCoordinatorV2.sol Deletes V2 batch fulfillment support.
contracts/​src/​v0.8/​vrf/​AuthorizedReceiver.sol Deletes the VRF authorization base.
contracts/​scripts/​native_solc_compile_all_vrf Removes compilation entries for legacy contracts.
contracts/​cre/​gobindings/​v2/​generation/​generated-wrapper-dependency-versions-do-not-edit.txt Records Geth 1.17.4 for V2 bindings.
contracts/​cre/​gobindings/​v1/​generation/​generated-wrapper-dependency-versions-do-not-edit.txt Records Geth 1.17.4 for V1 bindings.
contracts/​cre/​gobindings/​go.sum Updates dependency checksums for the upgrade.
contracts/​cre/​gobindings/​go.mod Upgrades go-ethereum and related dependencies.
contracts/​cre/​gobindings/​dev/​generation/​generated-wrapper-dependency-versions-do-not-edit.txt Records Geth 1.17.4 for development bindings.

Review effort: Balanced

@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

⚠️ API Diff Results - github.com/smartcontractkit/chainlink-evm

⚠️ Breaking Changes (2)

pkg/txmgr (2)
  • TransmitCheckerTypeVRFV2 — 🗑️ Removed

  • VRFV2Checker — 🗑️ Removed

✅ Compatible Changes (1)

pkg/txmgr (1)
  • VRFV2PlusChecker — ➕ Added

📄 View full apidiff report

jmank88
jmank88 previously approved these changes Oct 28, 2026
@pavel-raykov

Copy link
Copy Markdown
Contributor

the diff is too big so lint fails.

pavel-raykov
pavel-raykov previously approved these changes Oct 28, 2026
Deletes the generated Go wrappers for the VRF v2 contracts, their
go:generate directives and wrapper dependency-version entries, and the
VRFV2 transmit checker in pkg/txmgr. The V2 plus checker is renamed
from VRFV2Checker to VRFV2PlusChecker since it is now the only VRF v2
checker remaining.

The VRF v2 Solidity contracts themselves are removed in a follow-up PR
and must merge after this one.

Co-Authored-By: Claude Code <noreply@anthropic.com>
@ibrajer
ibrajer dismissed stale reviews from pavel-raykov and jmank88 via c7c2da0 October 28, 2026 19:47
@ibrajer
ibrajer force-pushed the vrf-v2-removal-part2 branch from c1e0e94 to c7c2da0 Compare October 28, 2026 19:47
@ibrajer ibrajer changed the title VRF v2 removal VRF v2 removal: Go wrappers, generation and txmgr transmit checker Oct 28, 2026
@ibrajer ibrajer self-assigned this Oct 28, 2026
@ibrajer
ibrajer marked this pull request as ready for review October 28, 2026 20:58

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.

6 participants