Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bump geth v1.14.11; rm hacks #11809

Merged
merged 88 commits into from
Nov 12, 2024
Merged

bump geth v1.14.11; rm hacks #11809

merged 88 commits into from
Nov 12, 2024

Conversation

jmank88
Copy link
Contributor

@jmank88 jmank88 commented Jan 18, 2024

https://smartcontract-it.atlassian.net/browse/BCF-3338

Bumping geth to v1.14.11, which brings a new simulated backend API from v1.13.14 and breaks our usage of the old one. The simulated backends are:

  • It now uses more of the underlying geth API so gives us better coverage in some sense
    • This is why the Simulated.toml needs real values
  • You need to Commit() after deploying a contract in order to configure it (previously you could deploy + config then Commit as a batch).
    • This was the majority of the difficulty in completing the upgrade, involved updating lots of test code
  • Fork() behaves differently, but we've added a wrapper for backwards compat. Details here
    // Fork as an override exists to maintain the same behaviour as the old
  • New blocks with Commit() bump the block timestamp by 1s (I believe it was 10s before)
  • If you use Rollback() (uncommon), you'll need to set the GasTipCap on transact opts for example https://github.com/smartcontractkit/chainlink/blob/916514e8adc3cc7d02c05d891f4955435a0d9821/core/chains/evm/logpoller/helper_test.go#L103C8-L103C42.
  • The first Commit() sets the block timestamp to now()
  • Doesn't seem to complain about blocks in the future so our tweakTimestamp is no longer needed

Failing Tests

These tests are currently skipped due to disruptive failures. TODO: Open tickets to address.

features

features_test.go

  • TestIntegration_AsyncEthTx(t *testing.T) {
  • TestIntegration_OCR(t *testing.T) {
  • TestIntegration_OCR_ForwarderFlow(t *testing.T) {

blockhashstore

feeder_test.go

  • TestStartHeartbeats

ccip

clo_ccip_integration_test.go

  • Test_CLOSpecApprovalFlow_pipeline
  • Test_CLOSpecApprovalFlow_dynamicPriceGetter

integration_legacy_test.go

  • TestIntegration_legacy_CCIP

integration_test.go

  • TestIntegration_CCIP
  • TestReorg

ocr2keeper

integration_21_test.go

  • TestIntegration_KeeperPluginLogUpkeep

vrf

integration_v2_plus_test.go

  • TestVRFV2PlusIntegration_SingleConsumer_BigGasCallback_Sandwich(t *testing.T) {
  • TestVRFV2PlusIntegration_SingleConsumer_MultipleGasLanes(t *testing.T) {

integration_v2_test.go

  • TestVRFV2Integration_SingleConsumer_BlockHeaderFeeder(t *testing.T) {
  • TestVRFV2Integration_SingleConsumer_NeedsTopUp(t *testing.T) {
  • TestVRFV2Integration_SingleConsumer_BigGasCallback_Sandwich(t *testing.T) {
  • TestVRFV2Integration_SingleConsumer_MultipleGasLanes(t *testing.T) {

listener_v2_log_listener_test.go

  • TestInitProcessedBlock_NoVRFReqs(t *testing.T) {
  • TestInitProcessedBlock_NoUnfulfilledVRFReqs(t *testing.T) {
  • TestInitProcessedBlock_OneUnfulfilledVRFReq(t *testing.T) {
  • TestInitProcessedBlock_SomeUnfulfilledVRFReqs(t *testing.T) {
  • TestInitProcessedBlock_UnfulfilledNFulfilledVRFReqs(t *testing.T) {
  • TestUpdateLastProcessedBlock_NoVRFReqs(t *testing.T) {
  • TestUpdateLastProcessedBlock_NoUnfulfilledVRFReqs(t *testing.T) {
  • TestUpdateLastProcessedBlock_OneUnfulfilledVRFReq(t *testing.T) {
  • TestUpdateLastProcessedBlock_SomeUnfulfilledVRFReqs(t *testing.T) {
  • TestUpdateLastProcessedBlock_UnfulfilledNFulfilledVRFReqs(t *testing.T) {

Copy link
Contributor

I see that you haven't updated any CHANGELOG files. Would it make sense to do so?

@jmank88 jmank88 changed the title bump geth v1.13.10; rm hack bump geth v1.13.11; rm hack Jan 26, 2024
@jmank88 jmank88 changed the title bump geth v1.13.11; rm hack bump geth v1.13.14; rm hack Mar 13, 2024
@Tofel
Copy link
Contributor

Tofel commented Mar 13, 2024

@jmank88 please do not merge until I run go-ethereum-as-a-server compatibility tests for it, ok?

@jmank88 jmank88 requested a review from Tofel March 13, 2024 16:07
@Tofel
Copy link
Contributor

Tofel commented Mar 14, 2024

@jmank88 alles verden machen! at least for commit 38f64e0 ---> results

Preview:
image

@jmank88
Copy link
Contributor Author

jmank88 commented Nov 12, 2024

Merge conflicts resolved. PTAL

@jmank88 jmank88 requested review from a team November 12, 2024 12:51
@jmank88 jmank88 requested a review from brunotm November 12, 2024 15:00
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.