Commit graph

15151 commits

Author SHA1 Message Date
Chen Kai
021ce2ece9 Merge branch 'master' into portal1 2024-03-25 17:14:10 +08:00
fearlessfe
6e23955304 feat: refactor storage interface 2024-03-25 17:09:04 +08:00
Martin HS
14cc967d19
all: remove dependency on golang.org/exp (#29314)
This change includes a leftovers from https://github.com/ethereum/go-ethereum/pull/29307
- using the [new `slices` package](https://go.dev/doc/go1.21#slices) and
- using the [new `cmp.Ordered`](https://go.dev/doc/go1.21#cmp) instead of exp `constraints.Ordered`
2024-03-25 07:50:18 +01:00
deterclosed
ae47004487
eth: fix typo (#29320) 2024-03-25 10:16:44 +08:00
Nathan
6f1fb0c29f
metrics/influxdb: skip float64-precision-dependent tests on arm64 (#29047)
metrics/influxdb: fix failed cases caused by float64 precision on arm64
2024-03-24 13:51:34 +01:00
Chen Kai
e3c91b3fc5
Merge branch 'ethereum:master' into portal 2024-03-23 11:56:06 +08:00
Sina M
064f37d6f6
eth/tracers: live chain tracing with hooks (#29189)
Here we add a Go API for running tracing plugins within the main block import process. 

As an advanced user of geth, you can now create a Go file in eth/tracers/live/, and within
that file register your custom tracer implementation. Then recompile geth and select your tracer
on the command line. Hooks defined in the tracer will run whenever a block is processed.

The hook system is defined in package core/tracing. It uses a struct with callbacks, instead of 
requiring an interface, for several reasons:

- We plan to keep this API stable long-term. The core/tracing hook API does not depend on
  on deep geth internals.
- There are a lot of hooks, and tracers will only need some of them. Using a struct allows you
   to implement only the hooks you want to actually use.

All existing tracers in eth/tracers/native have been rewritten to use the new hook system.

This change breaks compatibility with the vm.EVMLogger interface that we used to have.
If you are a user of vm.EVMLogger, please migrate to core/tracing, and sorry for breaking
your stuff. But we just couldn't have both the old and new tracing APIs coexist in the EVM.

---------

Co-authored-by: Matthieu Vachon <matthieu.o.vachon@gmail.com>
Co-authored-by: Delweng <delweng@gmail.com>
Co-authored-by: Martin HS <martin@swende.se>
2024-03-22 18:53:53 +01:00
Chen Kai
7d720104d3
Merge branch 'ethereum:master' into portal 2024-03-22 21:19:56 +08:00
George Ma
38eb8b3e20
all: fix docstrings (#29311) 2024-03-22 20:29:12 +08:00
Martin HS
d9bde37ac3
log: use native log/slog instead of golang/exp (#29302) 2024-03-22 13:17:59 +01:00
rjl493456442
6490d9897a
cmd, triedb: implement history inspection (#29267)
This pull request introduces a database tool for inspecting the state history. 
It can be used for either account history or storage slot history, within a 
specific block range.

The state output format can be chosen either with

- the "rlp-encoded" values (those inserted into the merkle trie)
- the "rlp-decoded" value (the raw state value)

The latter one needs --raw flag.
2024-03-22 20:12:10 +08:00
Darioush Jalali
f46fe62c5d
triedb/hashdb: Avoid setting db.cleans on Close (#29309) 2024-03-22 19:38:24 +08:00
Chen Kai
7c6d0d318d
Merge branch 'ethereum:master' into portal 2024-03-22 10:21:00 +08:00
fearlessfe
0200913250 fix: add flags and change default http addr 2024-03-22 10:20:49 +08:00
Chen Kai
317997f25f feat:beacon rpc
Signed-off-by: Chen Kai <281165273grape@gmail.com>
2024-03-22 10:20:49 +08:00
Martin HS
14eb8967be
all: use min/max/clear from go1.21 (#29307) 2024-03-21 13:50:13 +01:00
Felix Lange
bca6c40709
beacon/blsync: support for deneb fork (#29180)
This adds support for the Deneb beacon chain fork, and fork handling
in general, to the beacon chain light client implementation.

Co-authored-by: Zsolt Felfoldi <zsfelfoldi@gmail.com>
2024-03-20 19:22:44 +01:00
Martin HS
04bf1c802f
eth/protocols/snap, internal/testlog: fix dataraces (#29301) 2024-03-20 15:22:52 +01:00
Marius van der Wijden
8f7fbdfedc
core: refactor consensus interface (#29283)
This PR modifies the consensus interface to wrap the body fields.
2024-03-20 14:58:47 +01:00
Aaron Chen
0444388c74
core/txpool/blobpool: calculate log1.125 faster (#29300) 2024-03-20 14:51:05 +01:00
rjl493456442
78c102dec5
core: skip the check the statefulness of head block in repair (#29245) 2024-03-20 13:11:30 +01:00
imalasong
22ac46cbdb
Makefile: update PHONY directive (#29296) 2024-03-20 13:09:46 +01:00
Chen Kai
afc45510ae
Merge branch 'ethereum:master' into portal 2024-03-20 19:49:15 +08:00
Martin HS
9a7e6ce6f5
cmd/evm: fix flag-mismatch from #29290 (#29298) 2024-03-20 10:38:30 +01:00
Martin HS
de08f3d625
cmd/evm: make staterunner always output stateroot to stderr (#29290)
This changes makes it so that when `evm statetest` executes, regardless of whether `--json` is specified or not, the stateroot is printed on `stderr` as a `jsonl` line. This enables speedier execution of testcases in goevmlab, in cases where full execution op-by-op is not required.
2024-03-20 09:12:58 +01:00
Chen Kai
1cbda9c3a0
Merge branch 'ethereum:master' into portal 2024-03-20 16:04:07 +08:00
fearlseefe
bed6cd9fcf fix: validate 4844 header failed 2024-03-20 16:03:56 +08:00
Chen Kai
7a225ea6cd feat:update go version
Signed-off-by: Chen Kai <281165273grape@gmail.com>
2024-03-20 16:02:26 +08:00
georgehao
0ceac8d00e
metrics: fix docstrings (#29279) 2024-03-20 08:51:45 +01:00
miles
45b88abbde
all: fix typos (#29288) 2024-03-20 08:49:38 +01:00
zgfzgf
6f929a0762
core/asm: minor code-clarification (#29293) 2024-03-20 08:46:50 +01:00
Chen Kai
6994aa9263 Merge branch 'master' into portal1 2024-03-20 15:43:41 +08:00
Chen Kai
b573ba01b0 update go.sum
Signed-off-by: Chen Kai <281165273grape@gmail.com>
2024-03-20 15:38:50 +08:00
buddho
2604872828 miner: modify header before checking time-based fields (#29242)
The Prepare-method of consensus engine might modify the time-field in a header, so it should be called prior to checks that rely on it
2024-03-20 15:37:27 +08:00
Tien Nguyen
88b5429651 accounts/abi/bind: check invalid chainID first (#29275) 2024-03-20 15:37:27 +08:00
bitcoin-lightning
861dcd048c beacon/light/sync: fix typo in comment (#29256) 2024-03-20 15:37:27 +08:00
Aaron Chen
005a16fa9f log: replace tmp with bytes.Buffer.AvailableBuffer (#29287) 2024-03-20 15:37:27 +08:00
rjl493456442
10f9df48ac triedb/pathdb: improve tests (#29278) 2024-03-20 15:37:27 +08:00
Martin HS
33a2d825f7 all: update to go version 1.22.1 (#28946)
Since Go 1.22 has deprecated certain elliptic curve operations, this PR removes
references to the affected functions and replaces them with a custom implementation
in package crypto. This causes backwards-incompatible changes in some places.

---------

Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: Felix Lange <fjl@twurst.com>
2024-03-20 15:37:23 +08:00
buddho
4c1b57856f
miner: modify header before checking time-based fields (#29242)
The Prepare-method of consensus engine might modify the time-field in a header, so it should be called prior to checks that rely on it
2024-03-19 15:23:55 +01:00
Tien Nguyen
eda9c7e36f
accounts/abi/bind: check invalid chainID first (#29275) 2024-03-19 14:05:31 +01:00
bitcoin-lightning
6b3d4d068a
beacon/light/sync: fix typo in comment (#29256) 2024-03-19 14:05:06 +01:00
fearlessfe
37b4382947 fix: rename PortalHistoryConfig to Config 2024-03-19 19:40:32 +08:00
fearlessfe
0b6714dea0 feat: remove flags for hive test 2024-03-19 19:40:32 +08:00
fearlessfe
afeaa102b4 feat: change flag name 2024-03-19 19:40:32 +08:00
fearlessfe
2b6c5eb292 feat: add cli and fix typ error 2024-03-19 19:40:32 +08:00
Aaron Chen
ac6060a4c6
log: replace tmp with bytes.Buffer.AvailableBuffer (#29287) 2024-03-19 11:25:30 +01:00
rjl493456442
15eb9773f9
triedb/pathdb: improve tests (#29278) 2024-03-19 10:50:08 +08:00
Martin HS
ab49f228ad
all: update to go version 1.22.1 (#28946)
Since Go 1.22 has deprecated certain elliptic curve operations, this PR removes 
references to the affected functions and replaces them with a custom implementation
in package crypto. This causes backwards-incompatible changes in some places.

---------

Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: Felix Lange <fjl@twurst.com>
2024-03-18 17:36:50 +01:00
Chen Kai
f949812d61
Merge branch 'ethereum:master' into portal 2024-03-18 18:32:54 +08:00