Skip to content

VRF v1 removal - #571

Merged
ibrajer merged 4 commits into
developfrom
vrf-v2-removal
Oct 29, 2026
Merged

ibrajer merged 4 commits into
developfrom
vrf-v2-removal

Conversation

@ibrajer

@ibrajer ibrajer commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Removes VRF v1 contracts, wrappers and the VRFV1 transmit checker.

Originally this PR removed both VRF v1 and v2; it has been split so each lands separately. VRF v2 removal now lives in a follow-up PR based on this one.

Also bumps go-ethereum to v1.17.4 in contracts/cre/gobindings (missed by the revert of #572, which caused the abigen version mismatch in CI).

@ibrajer ibrajer self-assigned this Oct 9, 2026
@github-actions

github-actions Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

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

⚠️ Breaking Changes (9)

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

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

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

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

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

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

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

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

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


📄 View full apidiff report

@github-actions

github-actions Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

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

⚠️ Breaking Changes (2)

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

  • VRFV1Checker — 🗑️ Removed


📄 View full apidiff report

@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/contracts/cre/gobindings

View full report

ibrajer and others added 2 commits October 28, 2026 16:49
Deletes the VRF v1 consumer-side contracts (VRFConsumerBase,
VRFRequestIDBase, VRFCoordinatorMock and v1 test consumers/helpers),
their generated Go wrappers, the VRFV1 transmit checker in pkg/txmgr,
and the corresponding wrapper generation and compile script entries.

VRF v2 and VRF v2 Plus are unaffected and will be removed separately.

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 (expected 1.17.3,
installed 1.17.4) in CI.

Co-Authored-By: Claude Code <noreply@anthropic.com>
@ibrajer ibrajer changed the title VRF v1 and v2 removal VRF v1 removal Oct 28, 2026
ibrajer and others added 2 commits October 28, 2026 21:06
The v1 removal commit missed these entries, causing forge to fail with
'No source files found' for the deleted contracts.

Co-Authored-By: Claude Code <noreply@anthropic.com>
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>
ibrajer added a commit that referenced this pull request Oct 28, 2026
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>
@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:58
@ibrajer
ibrajer requested review from a team as code owners October 28, 2026 20:58

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 reported for the removal of legacy VRF v1 support.

No open issues 🎉

What changed in this PR

Removes legacy VRF v1 support from the EVM contracts, generated Go bindings, and transaction manager, while leaving VRF v2 removal for a separate PR.

Changes:

  • Deletes VRF v1 contracts, helpers, mocks, and generated bindings.
  • Removes the VRF v1 transmit checker and its tests, plus obsolete compilation and generation entries.
  • Aligns CRE bindings with go-ethereum v1.17.4 to address the reported abigen version mismatch.
File Description
pkg/​txmgr/​transmitchecker.go Removes the VRF v1 checker and factory case.
pkg/​txmgr/​transmitchecker_test.go Removes VRF v1 checker tests.
pkg/​txmgr/​models.go Removes the VRF v1 checker type constant.
gethwrappers/​go_generate_vrf.go Removes VRF v1 generation directives.
gethwrappers/​generation/​generated-wrapper-dependency-versions-do-not-edit.txt Removes deleted wrapper dependency records.
gethwrappers/​generated/​vrf_ownerless_consumer_example/​vrf_ownerless_consumer_example.go Deletes ownerless consumer bindings.
gethwrappers/​generated/​vrf_load_test_ownerless_consumer/​vrf_load_test_ownerless_consumer.go Deletes ownerless load-test bindings.
gethwrappers/​generated/​vrf_coordinator_mock/​vrf_coordinator_mock.go Deletes v1 coordinator mock bindings.
gethwrappers/​generated/​solidity_vrf_wrapper/​solidity_vrf_wrapper.go Deletes legacy VRF bindings.
gethwrappers/​generated/​solidity_vrf_request_id/​solidity_vrf_request_id.go Deletes legacy request-ID helper bindings.
gethwrappers/​generated/​solidity_vrf_request_id_v08/​solidity_vrf_request_id_v08.go Deletes Solidity 0.8 request-ID helper bindings.
gethwrappers/​generated/​solidity_vrf_coordinator_interface/​solidity_vrf_coordinator_interface.go Deletes v1 coordinator bindings.
gethwrappers/​generated/​solidity_vrf_consumer_interface/​solidity_vrf_consumer_interface.go Deletes legacy consumer bindings.
gethwrappers/​generated/​solidity_vrf_consumer_interface_v08/​solidity_vrf_consumer_interface_v08.go Deletes Solidity 0.8 v1 consumer bindings.
contracts/​src/​v0.8/​vrf/​VRFRequestIDBase.sol Deletes v1 request-ID generation logic.
contracts/​src/​v0.8/​vrf/​VRFConsumerBase.sol Deletes the v1 consumer base contract.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFRequestIDBaseTestHelper.sol Deletes the request-ID test helper.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFOwnerlessConsumerExample.sol Deletes the v1 ownerless consumer example.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFLoadTestOwnerlessConsumer.sol Deletes the v1 load-test consumer.
contracts/​src/​v0.8/​vrf/​testhelpers/​VRFConsumer.sol Deletes the v1 test consumer.
contracts/​src/​v0.8/​vrf/​mocks/​VRFCoordinatorMock.sol Deletes the v1 coordinator mock.
contracts/​scripts/​native_solc_compile_all_vrf Removes compilation entries for deleted contracts.
contracts/​cre/​gobindings/​v2/​generation/​generated-wrapper-dependency-versions-do-not-edit.txt Updates the recorded geth version to 1.17.4.
contracts/​cre/​gobindings/​v1/​generation/​generated-wrapper-dependency-versions-do-not-edit.txt Updates the recorded geth version to 1.17.4.
contracts/​cre/​gobindings/​go.sum Refreshes dependency checksums for the upgrade.
contracts/​cre/​gobindings/​go.mod Bumps go-ethereum and adjusts indirect dependencies.
contracts/​cre/​gobindings/​dev/​generation/​generated-wrapper-dependency-versions-do-not-edit.txt Updates the recorded geth version to 1.17.4.

Review effort: Balanced

@ibrajer
ibrajer merged commit 77dc739 into develop Oct 29, 2026
38 checks passed
@ibrajer
ibrajer deleted the vrf-v2-removal branch October 29, 2026 08:34
ibrajer added a commit that referenced this pull request Oct 29, 2026
The VRF v1 removal (#571) deleted these Solidity sources, but the
compile script still referenced them, causing forge build to fail
with "No source files found in specified build paths" in CI.

Co-Authored-By: Claude Code <noreply@anthropic.com>
ibrajer added a commit that referenced this pull request Oct 29, 2026
* Remove VRF v2 contracts

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>

* Remove stale IAuthorizedReceiver entry from compile script

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>

* Update GETH_VERSION to 1.17.4 in CRE gobindings versions files

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>

* Bump go-ethereum to v1.17.4 in contracts/cre/gobindings

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>

* Remove stale VRF v1 entries from native_solc_compile_all_vrf

The VRF v1 removal (#571) deleted these Solidity sources, but the
compile script still referenced them, causing forge build to fail
with "No source files found in specified build paths" in CI.

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

---------

Co-authored-by: Claude Code <noreply@anthropic.com>
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.

8 participants