- Add AppSender adapter for interface compatibility
- Update block interfaces to match new consensus chain
- Replace prometheus metrics with Lux metrics library
- Fix import paths for consensus packages
- Update message types for new consensus engine
- Fix block Accept/Reject method signatures
- Add missing Status() method to Block
- Create public wrapper methods for ChainVM interface
- Update gossip pool to use Lux metrics
This ensures compatibility with updated node consensus interfaces.
- Migrate from geth/log to luxfi/log throughout EVM codebase
- Update luxfi/log to use zap instead of slog for better performance
- Fix all compatibility issues with node and EVM logging interfaces
- Rename Write method to WriteLog to avoid io.Writer conflict
- Add GlogHandler and FromLegacyLevel exports for internal/debug compatibility
- Update all test files to use new logging interface
This unifies the logging implementation across luxfi/node and luxfi/evm,
using zap as the underlying logger for improved performance.
- Fix warp package interface compatibility issues
- Update verifier stats to use pointer types for metrics
- Fix extstate AccessList type conversion
- Add missing ChainHeaderReader methods (GetCoinbaseAt, GetFeeConfigAt)
- Add IsCancun method to ChainConfig interface
- Use our own types in interfaces package instead of geth types
- Remove unused Withdrawal types from Engine interface
- Temporary workarounds for config type issues in consensus/dummy
Note: Build still has remaining issues to be fixed
- Updated go:generate comments to use luxfi/geth instead of ethereum/go-ethereum
- Fixed GitHub issue/PR references to point to luxfi repositories
- Updated comments referencing the Lux geth fork
- Part of the migration to unified EVM architecture with Lux consensus
- Updated all references from SubnetEVM to EVM
- This aligns with the new Lux architecture where EVM can run on L1, L2, or L3
- Removed 'subnet' terminology as it's being deprecated
- Update imports from luxdefi/node to luxfi/node
- Replace libevm interfaces with direct go-ethereum imports
- Add placeholder interface files for missing dependencies
- Update go.mod to use local luxfi/node path
- Fix merge conflicts in multiple files
- Create stub implementations for missing packages
This allows the project structure to align with v0.7.5 requirements
but the build still needs additional work to be fully functional.
Updated all copyright headers from "Lux Partners Limited" to "Lux Industries Inc" and updated the year to 2025 to reflect the new holding company structure.
The `types` package now only contains `coreth` logic an nothing from upstream so it shouldn't live in the same location in the repo.
Automated:
```shell
$ git mv core/types plugin/evm/types
$ find -name '*.go' | xargs sed -i 's|"github.com/ava-labs/coreth/core/types"|"github.com/ava-labs/coreth/plugin/evm/types"|'
$ golangci-lint run --fix
```
See original PR https://github.com/ava-labs/coreth/pull/877
Complete the transition of `core/types` to upstream code.
Note that the previous commit results in _all_ upstream types / vars / consts being in the `imports.go` file. This results in a strict partition of upstream and local identifiers so it is safe to simply change import paths.
1. Globally change all imports from `subnet-evm/core/types` to `libevm/core/types`;
2. Rename all `subnet-evm/core/types` imports to `customtypes` for ease of review here;
3. Dot import `libevm/core/types` in tests only to avoid hundreds of noisy changes.
See original PR https://github.com/ava-labs/coreth/pull/875
- `BlockGasCost` getter pure function
- New import from libevm's `core/types`: `Block`, `Blocks`, `Body`, `CalcUncleHash`, `NewBlock` and `NewBlockWithHeader`
- remove now unneeded `core/types/block.go`
See original PR https://github.com/ava-labs/coreth/pull/760
Signed-off-by: Quentin McGaw <[email protected]>
Co-authored-by: Arran Schlosberg <[email protected]>