59 Commits
Author SHA1 Message Date
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 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 8e2a0e979a Update architecture 2025-07-25 00:10:28 -05:00
zeekay 46ea495f07 refactor: rename network_upgrades_alwayson.go to legacy_upgrades.go
Rename file to better differentiate from Lux-specific code as requested.
All upgrade functions continue to return true for clean genesis setup.
2025-07-24 14:53:07 -05:00
zeekay 30986b4f91 Clean up project 2025-07-24 00:41:34 -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 8a4d08e0ae Re-organize consensus 2025-07-21 22:01:01 -05:00
zeekay 7d8b52af3f Update copyrights properly 2025-07-21 21:10:03 -05:00
zeekay 2a19fe59a2 Update EVM module to remove local replace directives 2025-07-20 06:38:41 +00:00
zeekay 97896c8439 Updates and improvements 2025-07-18 06:47:51 +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 59032cac49 chore(all): minor changes post-libevm merge (#1552) 2025-05-15 13:34:18 +00:00
Quentin McGawandArran Schlosberg f890fcd476 chore(all): final changes to the libevm branch
Changes applied from comments on the review of https://github.com/ava-labs/coreth/pull/820

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

Signed-off-by: Quentin McGaw <[email protected]>
Co-authored-by: Arran Schlosberg <[email protected]>
2025-04-01 10:15:18 +02:00
Ceyhun OnurandQuentin Mc Gaw 99fca502ac chore(all): remove vmerrs package
- Import errors from libevm/vmerrs
- Define subnet-evm specific errors in plugin/evm/vmerrors

See original PR https://github.com/ava-labs/coreth/pull/829
2025-04-01 10:08:42 +02:00
Quentin Mc Gaw 497f43672c Merge branch 'master' into libevm 2025-03-21 10:27:18 +01:00
337a89abb5 sync coreth changes up to 3148809 (#1434)
* move config package (coreth c167754ba)

* refactor: Split config package so it doesn't import core, core/vm (#734)

Co-authored-by: Quentin McGaw <[email protected]>

* bump avalanchego (same as coreth's 4765329f)

* Apply upstream fixes (up to d3cc618) (#766)

Co-authored-by: maskpp <[email protected]>
Co-authored-by: Aaron Chen <[email protected]>
Co-authored-by: Shiming Zhang <[email protected]>
Co-authored-by: Felix Lange <[email protected]>
Co-authored-by: Nathan <[email protected]>
Co-authored-by: Eric <[email protected]>

* fix panic if config duration is set to 0 (#765)

* fix mocks

* antithesis script patch: change dir for avalanchego build (for go.mod)

---------

Co-authored-by: Quentin McGaw <[email protected]>
Co-authored-by: maskpp <[email protected]>
Co-authored-by: Aaron Chen <[email protected]>
Co-authored-by: Shiming Zhang <[email protected]>
Co-authored-by: Felix Lange <[email protected]>
Co-authored-by: Nathan <[email protected]>
Co-authored-by: Eric <[email protected]>
2025-01-29 18:14:55 +03: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
Quentin McGawandGitHub 5983bc9577 chore(all): simplify mocks generation (#1413)
- Localized mockgen commands in the package where they are needed
- Generate mocks from your IDE directly
- Platform independent way of generating mocks
- Check automatically mocks are kept up to date with their matching interfaces
- Check automatically mocks all have a matching source controlled generation command
- Remove license headers for generated mocks
- Generating mocks section added in contributing document
- Use same mockgen version as specified in go.mod
2025-01-07 13:21:54 +01: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
9a3fd39a84 chore: fix some function names in interface comment (#1397)
Signed-off-by: chuangjinglu <[email protected]>
Co-authored-by: Ceyhun Onur <[email protected]>
2024-12-02 13:47:04 +03: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
6a8e82fad4 Bump avalanchego to master (#1268)
* Bump avalanchego to master

* Update avalanchego x (#1275)

* remove test tags

* use avago default

* revert ws diffs

* remove ginkgo test tags

---------

Co-authored-by: Ceyhun Onur <[email protected]>
2024-08-12 15:59:42 +00:00
5fed36811e Update avago 1.11.10 rc0 (#1241)
* Update to latest p2p API (#594)

* sdk app errors

Signed-off-by: Joshua Kim <[email protected]>

* nit

Signed-off-by: Joshua Kim <[email protected]>

* nit

Signed-off-by: Joshua Kim <[email protected]>

* nit

Signed-off-by: Joshua Kim <[email protected]>

* nit

Signed-off-by: Joshua Kim <[email protected]>

* nit

Signed-off-by: Joshua Kim <[email protected]>

* nit

Signed-off-by: Joshua Kim <[email protected]>

* nit

Signed-off-by: Joshua Kim <[email protected]>

* nti

Signed-off-by: Joshua Kim <[email protected]>

* nit

Signed-off-by: Joshua Kim <[email protected]>

* nit

Signed-off-by: Joshua Kim <[email protected]>

* nit

Signed-off-by: Joshua Kim <[email protected]>

* nti

Signed-off-by: Joshua Kim <[email protected]>

---------

Signed-off-by: Joshua Kim <[email protected]>

* update go mod

* Remove block.Status (#593)

* Remove block.Status

* nit

* nit

* nit

* update coreth indirect dep

* fix linter

* use rc.0 tag for e2e tests

* eupgrade: base definitions (#603)

* eupgrade: base definitions

* updates

* nit: consistently use EUpgrade for replace later

* update test configs

* refactor json genesis specs in vm_test.go

* Update params/config.go

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

---------

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

* Update avalanchego v1.11.10 prerelease (#607)

* update avago 668b452

* update avago

* update with test build tags

* update golangci

* update avalanchego

---------

Signed-off-by: Ceyhun Onur <[email protected]>
Co-authored-by: Ceyhun Onur <[email protected]>

* update to latest avago

* add test build tags to allowlist pkg

* add test tags

* add test tags to bind cmd

* add gingko test tags

* revert cosmetic changes

* fix test chain config timestamps

---------

Signed-off-by: Joshua Kim <[email protected]>
Signed-off-by: Darioush Jalali <[email protected]>
Signed-off-by: Ceyhun Onur <[email protected]>
Co-authored-by: Joshua Kim <[email protected]>
Co-authored-by: Stephen Buttolph <[email protected]>
Co-authored-by: Darioush Jalali <[email protected]>
2024-07-26 19:41:18 +03: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
Ceyhun OnurandGitHub 2233fa11c4 Sync coreth 0.12.11 rc.3 (#1075)
* rename pkg

* update to coreth 0.12.11-rc.3

* revert pkg rename

* fix coreth related changes

* fix allowed pkgs

* run mockgen

* reduce diffs with coreth

* remove atomic stats

* fix rpc get block receipts test
2024-02-02 06:29:12 -08:00
Darioush JalaliandGitHub 7425988d52 Align with coreth (#1067) 2024-01-30 15:45:11 -08:00
ce843d4cd1 P2p sdk handlers (#1031)
* rename tx handlers

* add p2p sdk handlers

* fix tests

* fix imports

* bump min go version

* downgrade golangci

* remove noop handler

* bump avago rc

* fix uint64

* bump avalanchego rc version

* fix linter

* revert txpool uint change

* bump subnet-evm version

* run simulator in a different step

* remove load test from precompile tests

* run simulator in a different step

* remove load test from precompile tests

* rename simulator to load test

* parallelize e2e steps

* use checkout

* split to different workflows

* move to same folder

* bump avago

* add time to codec

* fix load test (#1043)

* tweak global limit

* uncomment submit

* update consts

* update avalanchego version

* fix compilation err

* simpler fix

* remove mempool configs

* bump latest avago rc

* fix tests

* update avalanchego

* fix mockgen

* bump ANR

* remove unnecessary log levels

* Fix bloom reset (#1049)

* add UT for eth tx pool subscribe

* fix eth tx pool subscribtion

* don't use journal

* simplify test

* increase timeout

* Update plugin/evm/tx_gossip_test.go

Co-authored-by: Darioush Jalali <[email protected]>
Signed-off-by: Ceyhun Onur <[email protected]>

---------

Signed-off-by: Ceyhun Onur <[email protected]>
Co-authored-by: Ceyhun Onur <[email protected]>
Co-authored-by: Darioush Jalali <[email protected]>

* Fix racey bloom access and replace time.Sleep with require.Eventually

---------

Signed-off-by: Ceyhun Onur <[email protected]>
Co-authored-by: Patrick O'Grady <[email protected]>
Co-authored-by: Darioush Jalali <[email protected]>
Co-authored-by: Stephen Buttolph <[email protected]>
2024-01-23 17:23:08 +03: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 d561b4d550 Sync upstream 2024-01-03 09:52:28 +01: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
a16a959e28 add event packing/unpacking to contract template (#949)
* add event packing/unpacking to contract template

* add pack event tests to template

* add event precompile bind tests

* nits

* separate event file

* Update accounts/abi/bind/precompilebind/precompile_bind.go

Co-authored-by: aaronbuchwald <[email protected]>
Signed-off-by: Ceyhun Onur <[email protected]>

* revert set changes

* change event comments

* add get event gas cost and tests

* nits

* add topics to GetLogData

* Update utils.go

Signed-off-by: Ceyhun Onur <[email protected]>

* add output names

* Update precompile/testutils/test_precompile.go

Co-authored-by: Darioush Jalali <[email protected]>
Signed-off-by: Ceyhun Onur <[email protected]>

* Update accounts/abi/bind/precompilebind/precompile_event_template.go

Co-authored-by: Darioush Jalali <[email protected]>
Signed-off-by: Ceyhun Onur <[email protected]>

* fix tests

* fix tests

---------

Signed-off-by: Ceyhun Onur <[email protected]>
Signed-off-by: Ceyhun Onur <[email protected]>
Co-authored-by: aaronbuchwald <[email protected]>
Co-authored-by: Darioush Jalali <[email protected]>
2023-12-18 18:14:43 +00:00
bcf1139b3c Replace old packers (#857)
* add equality tests

* regenerate abis

* add extra padding tests

* override network upgrades (#839)

* override network upgrades

* genesis network upgrades defaults

* fix conflicts

* Update plugin/evm/vm.go

* update native minter

* nativeminter nit test changes

* replace fee manager packers

* remove generated abis

* Update precompile/contracts/feemanager/contract.go

Co-authored-by: Darioush Jalali <[email protected]>
Signed-off-by: Ceyhun Onur <[email protected]>

* fix comments

* readd pack/unpack tests

* add signature tests

* remove skip len check vars

* add native minter equality tests

* add get fee config output fuzz tests

* add fee manager fuzz tests

* move tests to another test file

* move signatures to unpack test

* nits

---------

Signed-off-by: Ceyhun Onur <[email protected]>
Co-authored-by: Darioush Jalali <[email protected]>
2023-12-15 18:18:43 +00:00
Ceyhun OnurandGitHub 19a0e5bf99 move predicate package and merge with predicate utils (#907)
* add get predicate result bytes helpers

* move predicate package and merge with predicate utils

* update readme

* refactor imports & utils

* typed errs

* add comment

* fix import name

* fix stutter & same var names as pkg name

* rename functions

* fix reviews

* more rename
2023-10-02 16:55:55 -04:00
Darioush JalaliandGitHub 1b550eeda9 enforce warpIndex is <= MaxInt32 (#876) 2023-09-26 18:12:25 -04: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
aaronbuchwaldandGitHub 523dcc272e 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
2023-09-12 13:10:26 -04:00
Ceyhun OnurandGitHub be1bf355e8 add mockgen (#838) 2023-09-12 10:48:30 -04:00
aaronbuchwaldandGitHub ce59e115b5 add mocks for precompile tests (#812)
* add mocks for precompile tests

* Update compatibility

* Bump AvalancheGo dep to v1.10.9

* Bump ANR dep to be compatible with ago v1.10.9

* revert ConfigurationBlockContext changes
2023-08-25 12:58:05 -04:00
Ceyhun OnurandGitHub b6e1568bed add activation func to precompile functions (#799)
* add activation func to precompile functions

* remove err from activation func

* Update precompile/contract/contract.go

* inline formatted error for non-existent function selector
2023-08-18 19:40:27 -04:00
Ceyhun OnurandGitHub d57883fd11 Expand verify (#798)
* move chainconfig to precompileconfig

* use chainconfig in verification
2023-08-18 10:10:10 -04:00