- 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
- Move our code from state_processor.go to state_processor_ext.go
- Move our code from state_processor_test.go to state_procesor_ext_test.go
- Slight modifications to state_processor.go to make it more alike geth master
* ensure blob gas is zero in cancun
* txlookup limit cleanup
* use full faker
* use full faker in api tests
---------
Co-authored-by: Darioush Jalali <[email protected]>
* introduce e upgrade
* map upgrades
* check if upgrade is non-nil
* fix checkForks
* Fix tests
* revert test changes
* fix tests
* remove block no param from IsCancun
* add UT
* use avalanche defaults for timestamps
* use non-zero timestamps in genesis configs
* fix test timestamps
* add timestamp to ethapi genesis
* fix blockchain test genesis timestamp
* fix test
* review fixes
* use less blocks to gen
* avoid relying on rand.Seed for deterministic results (#535)
* disable blobpool (#536)
* add matrix and race to UTs (#530)
* add matrix and race to UTs
* remove unnecessary runners
* clean script
* lazy read bonus blocks
* increase timeout
* increase frequency
* apply fix fow windows
* increase timeout
* disable fail fast
* increase frequency and timeout
* use latest
* fix coma
* better log
* fix require
* Fix formatting
* fix eventually formats
* test out new wg
* Revert "test out new wg"
This reverts commit 5d4a0a8a17bf78751163e948a6a65dd241b057aa.
* check tx indexes after each block accept
* mark as flaky
* disable blobpool
* add IsSubscribed for testing
* remove subscribed when return
* use atomic bool
* attempt to fix flaky indexing test
* use matrix for UTs
* return if sub nil
* add beacon root checks
* fix test
* return if sub nil
---------
Co-authored-by: Darioush Jalali <[email protected]>
* update npm package
* expand allowlist.configure
* add activation func to precompile functions
* move chainconfig to precompileconfig
* use chainconfig in verification
* trim unnecessary changes
* add manager role
* fix tests
* add verify test
* nits
* add mocks
* reviews
* fix linter
* fix benchmarks
* nits
* nits
* fix alow list bind tests & ensure they're being tested (#841)
* simplify can modify check
* fix vm tests
* Add manager allowlist role merge (#850)
* Warp stapling block context (#823)
* Add GetPredicateResults to BlockContext
* Serve predicate results from blockContext
* Allow extra data to extend past DynamicFeeWindow post DUpgrade
* Get vm warp unit tests working
* Bump ANR to intermediate version to fix incompatibility with AvalancheGo
* Add kc to EthKeyChain
* Bump avalanchego dep in scripts for CI
* Add block hash payload support
* Use gomocks for precompileconfig and predicater and re-write CheckPredicates with gomocks
* Use gomock for mock accessible state and block context
* Fix existing warp contract tests with mock block context
* Remove unused mockPredicater impl
* x/warp: add contract execution unit tests
* Update NewEVMBlockContext
* Add AppendExtra to syncervm to fix tests
* x/warp: add unit test for multiple predicate results
* core: add unit test for CheckPredicates insufficient gas
* Update receive warp message test to trace block and assert the expected result
* Fix lint
* Update warp solidity contracts
* Fix block context mocks for bench
* Update precompile/precompileconfig/config.go
Co-authored-by: Darioush Jalali <[email protected]>
Signed-off-by: aaronbuchwald <[email protected]>
* Cleanup
* precompile/results: Add predicate results tests + comments
* nits
* precompile/results: omit tx predicate results if empty
* core: add invariant comment to predicate check
* Address PR comments
* Fix unpackWarpMessage and add unit tests
* Rename OriginChainID -> SourceChainID to match ago warp message type
* nits
* x/warp: set public key in warp predicate unit tests
* Update payload format
* Clarify IWarpMessenger verified message return types
* core/state: improve statedb warp specific comments
* Update input param type to uint32 to avoid potential overflow on conversion
* Update GetPredicateStorageSlots arg type to uint32
* warp/payload: add README for payload serialization (#835)
* Fix merge
* x/warp: add unit test for PrimaryNetwork to Subnet predicate verification (#831)
* precompilebind: add ChainConfig with DUpgrade enabled to precompile chain config verify template