62 Commits
Author SHA1 Message Date
zeekay 4ac18547fc Update to v2 module path and fix imports 2025-08-02 13:13:43 -05:00
zeekay b69677733e fix: remove v2 from internal imports 2025-08-02 12:55:11 -05:00
zeekay 69b8f99818 fix: update imports to use v2 paths 2025-08-02 12:54:33 -05:00
zeekay eba7646210 Fix import 2025-08-02 12:47:52 -05:00
zeekay 204ccb43c0 fix: update node imports to v2 path 2025-08-02 12:40:21 -05:00
zeekay b4f8fee98a fix: correct double v2 in imports 2025-08-02 12:34:16 -05:00
zeekay e8a1c06f73 feat: update to v2 module path for version 2.0.0-alpha.1 2025-08-02 12:31:47 -05:00
zeekay c7626c26c2 Fix build 2025-08-01 19:57:54 -05:00
zeekay 1cfa89aa03 Use luxfi/crypto, luxfi/database, luxfi/ids 2025-07-25 22:22:41 -05:00
zeekay 19fe8dc2c7 Replace ethereum/go-ethereum references with luxfi/geth
- 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
2025-07-23 17:34:24 -05:00
zeekay 7d8b52af3f Update copyrights properly 2025-07-21 21:10:03 -05:00
zeekay 2cb1ee55cc Rename SubnetEVM to EVM throughout codebase
- 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
2025-07-21 18:48:02 -05:00
zeekay 2a19fe59a2 Update EVM module to remove local replace directives 2025-07-20 06:38:41 +00:00
zeekay 8da155c1b1 Update imports 2025-07-18 01:55:16 +00:00
zeekay 5bde5ae476 fix: resolve merge conflicts in test files
- Fixed merge conflicts in precompile_config_test.go
- Fixed merge conflicts in block_test.go
- Fixed merge conflicts in test_statedb.go
2025-07-17 16:44:45 -05:00
zeekay fc1662afd8 Fix import paths and add missing interface stubs for subnet-evm v0.7.5
- 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.
2025-07-04 00:03:10 -04:00
zeekay 4ac513dba4 Merge upstream subnet-evm v0.7.5
Merged latest upstream changes from ava-labs/subnet-evm v0.7.5 while preserving Lux customizations:
- Updated copyright headers to Lux Industries Inc 2025
- Kept Lux branding and network references
- Preserved custom Lux configurations
- Updated dependencies to latest versions
- Removed deprecated files (trie/, core/vm/, etc)
- Updated import paths to use go-ethereum libraries where applicable
2025-07-03 23:56:17 -04:00
zeekay 1d04d6d04f Update copyright headers to Lux Industries Inc 2025
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.
2025-07-03 23:49:31 -04:00
Quentin McGawandGitHub 9afa615197 chore(all): use upstream protocol params (#1563) 2025-05-15 12:36:18 +00:00
Quentin McGaw ccab64fcf8 chore(types): move plugin/evm/types to plugin/evm/customtypes
See original PR https://github.com/ava-labs/coreth/pull/890
2025-04-01 10:15:17 +02:00
Arran SchlosbergandQuentin Mc Gaw 083810610a refactor: move core/types to plugin/evm/types
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
2025-04-01 10:14:56 +02:00
Arran SchlosbergandQuentin Mc Gaw cfb6dda961 refactor: use upstream core/types
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
2025-04-01 10:14:52 +02:00
Quentin McGaw 79daefb144 chore(rawdb): migration to plugin/evm/rawdb
See original PR https://github.com/ava-labs/coreth/pull/851
2025-04-01 10:11:51 +02:00
ba0ad8d3b3 chore(core/types): header JSON and RLP serialization hooks
- Define `HeaderExtra` with `RLP` and `JSON` serialization methods
- remove `BlockNonce`
- remove `EncodeNonce`
- new functions `GetHeaderExtra` and `SetHeaderExtra`
- Migrate existing custom `Header` to `HeaderSerializable` in block_ext.go with only `Hash` method for RLP code generation
- Rename files gen_header_json.go to gen_header_serializable_json.go
- Rename files gen_header_rlp.go to gen_header_serializable_rlp.go
- Update avalanchego to prevent double core/types extra registration conflict

See original PR https://github.com/ava-labs/coreth/pull/746

Signed-off-by: Quentin Mc Gaw <[email protected]>
Co-authored-by: Quentin Mc Gaw <[email protected]>
Co-authored-by: Arran Schlosberg <[email protected]>
Co-authored-by: Ceyhun Onur <[email protected]>
Co-authored-by: Darioush Jalili <[email protected]>
2025-04-01 10:09:58 +02:00
Quentin Mc Gaw 497f43672c Merge branch 'master' into libevm 2025-03-21 10:27:18 +01:00
Ceyhun OnurandQuentin Mc Gaw fbdc6f17d9 partial cherry-pick: Coreth/Implement ACP-176
See https://github.com/ava-labs/coreth/pull/815
2025-03-13 16:41:19 +01:00
Stephen ButtolphandQuentin Mc Gaw 23576e668f Move header.ExtraPrefix calculation
See https://github.com/ava-labs/coreth/pull/825
2025-03-13 12:43:06 +01:00
Stephen ButtolphandQuentin Mc Gaw 93a5ce31cb Improve plugin/evm/header tests
See https://github.com/ava-labs/coreth/pull/816
2025-03-13 12:42:54 +01:00
Stephen ButtolphandQuentin Mc Gaw f6b1d3ab47 Refactor AP3 Window and Params
See https://github.com/ava-labs/coreth/pull/808
2025-03-13 12:42:44 +01:00
Stephen ButtolphandQuentin Mc Gaw 9aadc9de8e Support all upgrades in CalcBaseFee and CalcExtraPrefix
See https://github.com/ava-labs/coreth/pull/804
2025-03-13 12:42:36 +01:00
Stephen ButtolphandQuentin Mc Gaw 1413aca0ef Split CalcExtraData out of CalcBaseFee
See https://github.com/ava-labs/coreth/pull/802
2025-03-13 12:42:20 +01:00
Quentin McGawandGitHub 80508ce888 chore(core): split out code in state_processor.go and state_processor_test.go (#1442)
- 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
2025-02-07 17:04:00 +01:00
Darioush JalaliandGitHub ec00827c6e refactor: params.ChainConfigExtra & RulesExtra -> params/extras (coreth a7f7061) (#1430) 2025-02-04 10:12:00 -08:00
Darioush JalaliandGitHub 513c6fa7ab libevm phase 2: Use libevm statedb from upstream (#1421)
Co-authored-by: Arran Schlosberg <[email protected]>
Co-authored-by: Darioush Jalali <[email protected]>
Co-authored-by: Michael Kaplan <[email protected]>
Co-authored-by: Ceyhun Onur <[email protected]>
Co-authored-by: Richard Pringle <[email protected]>
Co-authored-by: Quentin McGaw <[email protected]>
Co-authored-by: Meaghan FitzGerald <[email protected]>
Co-authored-by: Quentin McGaw <[email protected]>
Co-authored-by: mountcount <[email protected]>
Co-authored-by: chuangjinglu <[email protected]>
Co-authored-by: guqicun <[email protected]>
Co-authored-by: Dmytrol <[email protected]>
fix problematic const name and some typos in comment (#1400)
fix some function names in interface comment (#1397)
close database on shutdown (#1403)
fix some function names in comment (#1405)
Fix Typos in Documentation (#1404)
fix test generator (#724)
2025-01-13 07:45:49 -08:00
e3a01fb149 use libevm: params, core/vm, eth/tracers/* + some of core/types (#1380)
* format: as coreth

* use libevm: params, core/vm, eth/tracers/* + some of core/types (#662)

Co-authored-by: Arran Schlosberg <[email protected]>

* format: as subnet-evm

* fix coreth formatting

* fix mocks

* fix contract deployer allowlist

* nits

* nits

* nit

* fix test import loop

* fix imports

* nits

* fix

* add TODO

---------

Co-authored-by: Arran Schlosberg <[email protected]>
2024-12-12 10:04:35 -08:00
Darioush JalaliandGitHub 928c5099d3 params: add BerlinBlock, LondonBlock, ShanghaiTime (#1337)
* params: add LondonBlock

* params: add ShanghaiTime

* params: add BerlinBlock

* params: add IsLondon checks to Cancun (similar to upstream)
2024-09-11 07:12:52 -07:00
a2d079ba23 Coreth nits (#1336)
* 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]>
2024-09-09 16:33:11 +00:00
74327ea329 Code sync to go-ethereum v1.13.14 (#1152)
* all changes from v.13.2-x branch

* squash initial changes

* remove unneeded files

* fix lint

* gas estimation fix

* accounts/keystore: fix test with sleep

* rpc fixes

* try with a smaller limit

* logging

* change the trim fn

* remove main_test from rpc

* txpool: remove unused "PendingFrom"

* set local-txs-enabled in load tests

* ready to format

* format: remove upstream go-ethereum

* format: rename packages as fork

* Revert "format: remove avalanche header"

This reverts commit 09d505bd5e906ac186643061437e665b116b5bf6.

* fix logging

* deadcode linting

* more linting

* fix mock

* fix unused

* expecteds

* passing UTs

* add comment

* unused

* resolve some open issues

* undo script change

* test resillience

* fix compile

* wip

* test is fixed

* fix expecteds

* nits

* fix merge

* remove todos

* try

* try

* try

* docker stuff

* fix

* does this work

* fix

* hardcode for now

* fix

* hardcode for now

* remove TODO comments

* fix

* make txindexer more similar to upstream

* peer/network: move ctx check

* enforce tips in miner

* align nits with arr4n

* remove use of deprecated type core.GenesisAccount

* Revert "peer/network: move ctx check"

This reverts commit f37bc6bc3ef228bbd6f997b00871aabfcd37403e.

* fix ctx check

* fix ctx again

* undo vm_test changes

* reduce diffs with ARR4N's branch

* update for enforcing gasTip

* unbuffer chan

* update to use commit(true)

* use TestOnlyAllowDuplicateBlocks

* Revert "update to use commit(true)"

This reverts commit 4aa9cc9efb36586a93cea9a39842d4d304b584b6.

* overflow in state_transition err

* add http body limit flag (#1327)

* Tail lock revisited (#1328)

* avoid modifying the pointer

* improve readability

* prevent race in tail reading

* improve repairTxIndexTail readability

* use shared func

---------

Co-authored-by: Ceyhun Onur <[email protected]>
2024-09-02 17:56:46 +03:00
c00da36df7 Params nits (#1280)
* refactor params config

* rename SetEVMUpgrades

* rename file

---------

Co-authored-by: Darioush Jalali <[email protected]>
2024-08-14 15:11:55 +03:00
0dc5c02e45 Geth v1.13.8 (#1146)
* all changes from v.13.2-x branch

* squash initial changes

* remove unneeded files

* fix lint

* gas estimation fix

* accounts/keystore: fix test with sleep

* rpc fixes

* try with a smaller limit

* logging

* change the trim fn

* remove main_test from rpc

* txpool: remove unused "PendingFrom"

* set local-txs-enabled in load tests

* bump avago

* bump coreth

* resync (#1164)

* resync

* reapply fix

* review comments

* remove fixit comment

* fix space in log levels (#1167)

* fix legacy lvls (#1175)

* fix legacy lvls

* fix simulator logger

* fix typo in rlpgen comment

* update avalanchego to version with coreth on master branch

---------

Co-authored-by: Ceyhun Onur <[email protected]>
2024-05-16 10:31:36 -07:00
Ceyhun OnurandGitHub 616533416b E upgrade config (#1135)
* 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
2024-05-01 15:31:49 +03:00
e9c7e98e65 Coreth sync nits (#1161)
* 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]>
2024-04-29 18:28:40 +03:00
Darioush JalaliandGitHub 9883c6220c all changes from v.13.2-x branch (#1141) 2024-04-17 15:55:20 +03:00
Ceyhun OnurandGitHub 9641a032ef Genesis chainconfig cleanup (#1123)
* add upgrade overrides

* print json strings

* fix tests

* nits

* fix lint
2024-03-19 14:31:20 +00:00
Darioush JalaliandGitHub b98246b716 squashed all from geth-v1.12.2-x (#1117)
* squashed all from geth-v1.12.2-x

* fix merge
2024-03-06 12:32:17 -08:00
6308c49540 rename DUpgrade to Durango (#1029)
* rename DUpgrade to Durango

* Update core/evm.go

Signed-off-by: Darioush Jalali <[email protected]>

* Update x/warp/contract.go

Signed-off-by: Darioush Jalali <[email protected]>

* Update precompile/contracts/nativeminter/contract.go

Signed-off-by: Darioush Jalali <[email protected]>

* Update predicate/predicate_bytes.go

Signed-off-by: Darioush Jalali <[email protected]>

* Update precompile/precompileconfig/config.go

Signed-off-by: Darioush Jalali <[email protected]>

* Update x/warp/config.go

Signed-off-by: Darioush Jalali <[email protected]>

* Update x/warp/contract.go

Signed-off-by: Darioush Jalali <[email protected]>

* Update x/warp/contract.go

Signed-off-by: Darioush Jalali <[email protected]>

---------

Signed-off-by: Darioush Jalali <[email protected]>
Co-authored-by: Darioush Jalali <[email protected]>
2024-01-04 16:41:57 -05:00
zeekay 65408996d7 Update import path 2024-01-03 09:50:41 +01:00
zeekay f8dd36a8be Update SubnetEVM 2024-01-03 09:44:09 +01:00
e77c9c97cc coreth sync: 0.12.4-rc.0 -> 0.12.7 (#975)
* coreth sync: 0.12.4-rc.0 -> 0.12.7

* Review coreth 0.12.7 (#980)

* Apply suggested changes from https://github.com/ava-labs/coreth/pull/381/files

* drop reexec=0

* add txHashes

* bump avalanchego

* remove manager

* fix compat test

* bump version for e2e tests

---------

Co-authored-by: Ceyhun Onur <[email protected]>
2023-11-07 14:35:02 -05:00
Ceyhun OnurandGitHub a1c23956ad Add manager allowlist role (#801)
* 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
2023-09-13 09:56:57 -04:00