47 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 402cc58096 Unify logging to use luxfi/log everywhere
- Replace all 115+ files using github.com/luxfi/geth/log with github.com/luxfi/log
- Remove complex logger adapters
- Create minimal compatibility layer (asGethLogger) for external dependencies
- Fix go.mod version issue with luxfi/node
- Simplify logging infrastructure for better performance and maintainability
2025-07-26 07:28:27 -05:00
zeekay 41c58abb6e Update EVM 2025-07-26 03:55:18 -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 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
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
Quentin McGawandArran Schlosberg ceaaa091a3 chore(core/rawdb): use libevm core/rawdb
- Move our own code to `_ext.go` files
- Import symbols from libevm in imports.go

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

Co-authored-by: Arran Schlosberg <[email protected]>
2025-04-01 10:10:15 +02:00
Quentin McGaw 4256c9e120 chore(core/rawdb): InspectDatabase uses libevm
- Part of the core/rawdb migration to use libevm
- Using libevm `InspectDatabase`
- Define options passed to libevm `InspectDatabase`

See original PR https://github.com/ava-labs/coreth/pull/791
2025-04-01 10:10:04 +02:00
Quentin McGaw 6527c2133f chore(core/rawdb): add ExampleInspectDatabase to check custom behavior
See original PR https://github.com/ava-labs/coreth/pull/790
2025-04-01 10:10:04 +02:00
Quentin McGawandArran Schlosberg 6d0bf13fbb chore(core/types): remove block.go and import Block and Body from libevm
- `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]>
2025-04-01 10:10:03 +02:00
6bb66d3f81 chore(metrics): use libevm metrics package (#1508)
- use libevm/metrics instead of subnet-evm/metrics
- file kept and refactored `metrics/prometheus/prometheus.go` with the `Gatherer` implementation we use
- file kept and refactored `metrics/prometheus/prometheus_test.go`
- new file `metrics/prometheus/interfaces.go` added for refactoring
- geth global variable `metrics.Enabled` is set to true both in libevm and in `plugin/evm.VM.initializeMetrics`

Signed-off-by: Quentin McGaw <[email protected]>
Co-authored-by: Arran Schlosberg <[email protected]>
2025-04-01 10:04:35 +02:00
Quentin Mc Gaw 497f43672c Merge branch 'master' into libevm 2025-03-21 10:27:18 +01:00
b5698242c8 chore: Bump avalanchego to master (#1443)
Co-authored-by: Martin HS <[email protected]>
Co-authored-by: Marius van der Wijden <[email protected]>
Co-authored-by: Quentin McGaw <[email protected]>
Co-authored-by: Richard Pringle <[email protected]>
Co-authored-by: Ceyhun Onur <[email protected]>
Co-authored-by: Tsachi Herman <[email protected]>
2025-02-24 06:41:24 -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
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
piguaguaandGitHub 16e21e8694 chore: make function comments match function names (#1209)
Signed-off-by: piguagua <[email protected]>
2024-06-10 19:07:29 +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
a2681d4083 Tx indexing fix (#1131)
* fix unindexor in state sync

* fix lint

* fix flaky test

* Update core/blockchain_test.go

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

* Update core/test_blockchain.go

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

* Update core/test_blockchain.go

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

* Update core/test_blockchain.go

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

* fix reviews

* readd delay for index init

* Update core/rawdb/accessors_state_sync.go

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

* tx indexer fix: avoids using sleep in test (#1151)

* avoids using sleep in test

* track all goroutines

* trying harder

* add some debug information in case of fail

* Update core/blockchain.go

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

* Update core/blockchain.go

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

---------

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

---------

Signed-off-by: Ceyhun Onur <[email protected]>
Signed-off-by: Darioush Jalali <[email protected]>
Co-authored-by: Darioush Jalali <[email protected]>
2024-04-17 17:37:25 +03:00
Darioush JalaliandGitHub 9883c6220c all changes from v.13.2-x branch (#1141) 2024-04-17 15:55:20 +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
Darioush JalaliandGitHub 7425988d52 Align with coreth (#1067) 2024-01-30 15:45:11 -08:00
Darioush JalaliandGitHub 24a6a05cb8 remove ethdb (#1051) 2024-01-23 23:13:38 +03: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
4721f3ebe2 Sync coreth v0.12.4 rc0 (#694)
* apply diff to rc0

* replace coreth with subnet-evm

* go mod tidy

* remove must commit

* remove apricots

* replace coreth with subnet-evm

* rename banff and cortina

* test memory db

* add dUpgrade

* fix errors

* sync with v0.12.4-rc0

* more diffs

* change templates

* readd preparePredicateSlots

* run goimports

* readd tx allow list check to txpool

* Fix tests

* readd subnet evm check for tests

* fix tests

* add gas limit & coinbase fakers

* Fix timestamp types

* check error from newblockchain

* fix gas limit in simulated genesis

* downgrade ci to go 1.19

* gofmt files

* rebump go to 1.20

* bump anr to latest

* bump anr to latest

* prepare predicate storage slots in Subnet-EVM

* uncomment tests

* change order of airdrop memory cleanup

* add utils import

* Coreth 0.12.4 x apply (#720)

Co-authored-by: Darioush Jalali <[email protected]>

* move instruction sets

* revert unpack changes

* reduce diffs

* move genesis verify to vm (#753)

* move genesis verify to vm

* fix comment

* set a correct default from genesis

* fix log

* revert change to vm.go

---------

Co-authored-by: Darioush Jalali <[email protected]>

* avoid adding/removing GasLimits in tests (#755)

* move genesis verify to vm

* fix comment

* set a correct default from genesis

* fix log

* revert change to vm.go

* avoid adding/removing GasLimits in tests

* nit

---------

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

---------

Co-authored-by: Darioush Jalali <[email protected]>
2023-07-26 09:45:17 -04:00
Ceyhun OnurandGitHub 4446703a0a Coreth 0.11.6 sync (#436)
* sync changes from coreth-0.11.6

* remove diff patch

* revert format changes

* nits (#441)
2023-01-23 14:06:36 -05:00
a7afbfc2c4 Bump avalanchego v1.9.3 and Coreth Migration through v0.11.3 (#369)
* Migrate coreth to v0.11.3 wip

* WIP

* WIP

* migrate eth/gasprice

* update block building

* Add skip upgrade check to config

* Finish up changes

* Add ctx to tests

* Remove ported timer

* mod tidy for cmd/simulator

* Remove dead testcode

* Fix typo

* Fixes

* Fixes

* sync auto-formatted changes (#371)

* sync auto-formatted changes

* add coreth version txt

* add latest coreth version

* Update plugin/evm/block_builder.go

Co-authored-by: Darioush Jalali <[email protected]>

* Update plugin/evm/vm.go

Co-authored-by: Darioush Jalali <[email protected]>

Co-authored-by: Ceyhun Onur <[email protected]>
Co-authored-by: Darioush Jalali <[email protected]>
2022-11-29 09:39:18 -05:00
Ceyhun OnurandGitHub ce7fddfba3 sync with coreth-v0.10.1 (#287)
* sync with coreth-v0.10.1

* fix generate test

* go mod tidy in simulator

* my attempt at porting corethv0.10.1

* reconcile trie

* more reconcile

* getting closer

* reduce diff

* fix

* move to blockchain api
2022-10-24 16:13:37 -04:00
Ceyhun OnurandGitHub a6d013d4ab Coreth 0.8.16 rc2 (#216)
* Unwrap ETHChain

* hook in vm.ethConfig

* statesync for subnet-evm

* remove unused configJSON

* add err check

* add synchronization

* add default config values

* delay initialization of gossiper

* Revert "add synchronization"

This reverts commit 2e8c93e58d7853de15a21ebd1460a3cd3858a6af.

* fix test

* fix statesync code prefix issue

* fix comment

* wip

* wip2

* add coreth changes

* Merge branch 'master' into coreth-0.8.16-rc2

* updates

* remove coreth from go.mod

* fix linter

* fix

* update gas prices (?)

* fix tracer test

* move dependabot yml to upper file

* more changes ported in from coreth 0.8.16

* Update sync/README.md

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

* Update sync/README.md

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

* Update sync/README.md

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

* Update core/rawdb/accessors_state_sync.go

* port missing file from coreth

* fix-import

* subscribe before goroutine

* Rebase apply coreth diff onto statesync

* fix EOF in tests

* Nits (#265)

* Nits

* Add EIP-1559 link to readme

* Fix linting introduced by merge
2022-09-22 18:42:37 +09:00
Darioush JalaliandGitHub 4d160e239e statesync for subnet-evm (#189)
* Unwrap ETHChain

* hook in vm.ethConfig

* statesync for subnet-evm

* remove unused configJSON

* add err check

* add synchronization

* add default config values

* delay initialization of gossiper

* Revert "add synchronization"

This reverts commit 2e8c93e58d7853de15a21ebd1460a3cd3858a6af.

* fix test

* fix statesync code prefix issue

* fix comment

* Update sync/README.md

* Update sync/README.md

* Update sync/README.md

* Update core/rawdb/accessors_state_sync.go

* port missing file from coreth

* fix-import

* subscribe before goroutine
2022-08-30 09:57:09 -04:00
c82ac4714b enable/disable precompiles through upgradeBytes (#148)
* [wip] enable/disable precompile upgrades

* e2e json

* e2e genesis

* off by one

* omitEmpty -> omitempty

* custom json handling to avoid nested map

* simplify the config

* tx_pool: fix bug in calling IsTxAllowList

* precompile: add disable helpers

* plugin/evm: tentative UT

* precompile: move test helpers to their own file

* vm_test: fix gas / test

* fix copy/paste issue

* test fixes

* backward compatibility

* cleanup

* comment

* refactor: group NetworkUpgrades in struct

* rearrange Add/Disable helper methods

* move ethereum upgrades to chainConfig

* tx_gossiping_test: include eth upgrades

* vm_test: check for ErrSenderAddressNotAllowListed

* consensus/dummy: add clock

* TestTxAllowListDisablePrecompile: use clock

* vm_test.go: issueAndAccept helper / fixes

* vm_test: remove sleep

* support multiple activations/deactivations

* fix comment

* nit: simplify loop

* fix

* golang interfaces nil

* add some unit tests

* tests and fixes

* shutdown vm in test

* fix flakiness (AddRemoteSync)

* separate upgradeBytesConfig to its own struct

* add back wspace

* remove test helpers

* fix persitedUpgradeBytes

* make changes to embedding structure

* switch from getter to using an enum

* nit: fix strings

* upgrades_config.go -> precompile_config.go

* core: handle upgrade bytes in core.Blockchain

* nit: remove argument

* nit: less diff

* add equal check for StatefulPrecompileConfig

* split test

* upgrade_bytes_config_test -> upgrade_config_test

* revert AddRemoteSync -> addRemoteSync

* e2e tests: bump avalanche versions

* nit: remove args from run.sh in comments

* Upgrade nits (#167)

* Nits

* Nits

* Remove comment

* Fix

* Fixes

* upgradeBytes: verify increasing timestamps accross keys (#168)

* verify increasing timestamps accross keys

* nicer comparison

* Update plugin/evm/vm_upgrade_bytes_test.go

Co-authored-by: aaronbuchwald <[email protected]>

* unmarshal bytes to temp var

* test: reuse ctx

* test: add disable same time as enable test case

* merge (Read,Write) UpgradeConfig  w/ ChainConfig

* test disable/enable independent of timestamp

* rawdb: fix metadata accounting of upgradeConfig

* verify etherbase before genesis / minimize diff

* nit: BigNumEqual nil checks shortened version

* convert nested configs to json in String() (#175)

* Update plugin/evm/vm.go

Co-authored-by: Ceyhun Onur <[email protected]>
Co-authored-by: aaronbuchwald <[email protected]>
2022-07-30 14:28:48 -04:00
307b38cdb3 [AV-1753] merge coreth 0.8.12 (#132)
* merge coreth 0.8.12

* add nits (#133)

Co-authored-by: Patrick O'Grady <[email protected]>
2022-06-13 19:54:50 -07:00
Ceyhun Onur 5bdfb4e11f add metrics pkg 2022-05-24 21:10:46 +03:00
Ceyhun Onur 99e74a2d78 merge coreth 0.8.9-rc.0 2022-04-01 03:47:21 +03:00
Ceyhun OnurandPatrick O'Grady 1798664491 merge coreth 0.8.6 2022-03-06 16:32:54 -08:00
Ceyhun OnurandPatrick O'Grady bb1fe9945d merge coreth-0.8.5-rc.2 2022-02-15 17:58:01 -08:00
Ceyhun Onur d41968a2e2 coreth 0.8.4 2022-01-31 17:22:51 +03:00
Patrick O'Grady f6aef56afd first commit 2021-12-15 12:28:56 -08:00