Skip to content

Conversation

@jemilezzet
Copy link
Contributor

@jemilezzet jemilezzet commented Jul 2, 2025

Summary

This PR upgrades the synceth project to use Go 1.23 and go-ethereum v1.16.0, addressing compatibility issues and removing deprecated
dependencies.

Changes Made

  1. Go Version Upgrade
  • Updated from Go 1.17 to Go 1.23.0 (with toolchain 1.23.10)
  • Updated GitHub Actions workflow to use Go 1.23
  1. go-ethereum Progressive Upgrade
  • Incrementally upgraded go-ethereum from v1.10.x through v1.11, v1.12, v1.13, v1.14, and finally to v1.16.0
  • Fixed breaking changes at each version:
    • v1.11: Updated contract binding signatures
    • v1.12: Adapted to new transaction types
    • v1.13: Fixed context handling in contract calls
    • v1.14: Updated gas estimation methods
    • v1.16: Migrated to use go-ethereum's built-in ParseCombinedJSON function
  1. Compiler Integration Refactoring
  • Implemented removed methods from current go-ethereum we need for compiling contracts
  1. Test Infrastructure Updates
  • Added testify as a testing dependency for improved test assertions
  • Updated test files to work with the new go-ethereum APIs
  • Fixed simulated backend usage in example tests
  • Ensured all tests pass with the upgraded dependencies
  1. Build System Updates
  • Added GitHub Actions workflow configuration

Benefits

  • Compatibility: Now compatible with the latest go-ethereum, enabling use of newer Ethereum features
  • Maintainability: Removed duplicate code by using go-ethereum's built-in compiler functionality
  • Security: Latest versions include important security patches and improvements
  • Performance: Go 1.23 includes performance improvements and better memory management

Copy link

@0xpetersatoshi 0xpetersatoshi left a comment

Choose a reason for hiding this comment

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

lgtm

@jemilezzet jemilezzet merged commit ac390d9 into main Jul 3, 2025
2 checks passed
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.

3 participants