Commit graph

2029 commits

Author SHA1 Message Date
Daniel Liu
717610c0d8
core: handle future block more elegantly, close XFN-101 (#1672) 2025-11-03 12:52:22 +05:30
Daniel Liu
d2706538e2
XDPoS/engines, core: fix non idiomatic "comma ok" boolean name, close XFN-126 (#1690) 2025-11-03 12:45:39 +05:30
Daniel Liu
58c066f053
all: handle err from func rlp.Encode, close XFN-127 (#1692) 2025-11-03 12:45:19 +05:30
Daniel Liu
426d4a7a9f
core/txpool: fix name shadowing of filter parameter, close XFN-66 (#1694) 2025-11-03 12:44:43 +05:30
Daniel Liu
9d85990309
all: fix missing nil check, close XFN-114 (#1695) 2025-11-01 23:21:44 +05:30
Daniel Liu
336d1f9f34
core: fix too many goroutines in InitSignerInTransactions, close XFN-75 (#1662) 2025-10-31 12:26:22 +05:30
wit liu
79460e4bfb
all: fix whitespace error of golangci-lint, remove extra empty lines (#1624) 2025-10-19 14:42:12 +08:00
Wanwiset Peerapatanapokin
d45da0a149
Merge pull request #1611 from XinFinOrg/upgrade-package-CVE
update package version
2025-10-08 09:32:20 +04:00
Daniel Liu
3efe26df08
all: refactor so NewBlock, WithBody take types.Body #29482 (#1605) 2025-10-08 13:12:35 +08:00
Daniel Liu
c74515fcca
core: persist bad blocks #21827 (#1603) 2025-10-08 13:10:22 +08:00
wit liu
e5c480f234
core/txpool: add eip2681 check for incoming transactions #32726 (#1594) 2025-10-08 12:51:48 +08:00
Daniel Liu
6e8d261e42
all: eliminate zero owner variables (#1587) 2025-10-08 12:38:32 +08:00
Daniel Liu
54cd4589f0
core: check msg.value earlier in func TransitionDb (#1582) 2025-10-08 12:30:22 +08:00
Daniel Liu
8938e27932
all: move err to the last position of return values (#1581) 2025-10-08 12:29:38 +08:00
wit liu
f709ef2edb
all: remove extra empty lines (#1574) 2025-10-08 12:25:10 +08:00
Daniel Liu
271687e463
core, trie: remove DiskDB function from trie database #25690 (#1116) 2025-10-08 12:21:56 +08:00
wanwiset25
fe275a9459 update package version:
github.com/btcsuite/btcd
2025-10-07 15:28:17 +04:00
Daniel Liu
f46920b407
core, eth, internal: improve getBadBlocks to return full block rlp #16902 (#1595) 2025-09-26 19:02:13 +08:00
Daniel Liu
241a5b3fb2
all: using testing.B.Loop (#1554)
* p2p: using testing.B.Loop

* core/state: using testing.B.Loop

* eth: using testing.B.Loop

* log: using testing.B.Loop

* core: using testing.B.Loop

* core/vm: using testing.B.Loop

* core/types: using testing.B.Loop

* crypto: using testing.B.Loop
2025-09-24 07:59:48 +08:00
wit liu
d20f91057a
all: fix whitespace (#1572) 2025-09-24 07:58:40 +08:00
Daniel Liu
aafcae3b28
core/vm: refactor push-functions to use min builtin #29515 (#1571)
* optimize-push

* revert push1 change

* Update instructions.go

* core/vm: go format

* core/vm: fix nit

---------

Co-authored-by: Devon Bear <itsdevbear@berachain.com>
Co-authored-by: Felix Lange <fjl@twurst.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2025-09-24 07:58:03 +08:00
Daniel Liu
294591e67e
all: remove duplicate word in comments (#1570) 2025-09-24 07:57:33 +08:00
Daniel Liu
8d16201f0f
core/vm: reject contract creation if the storage is non-empty #28912 (#1569)
This change implements EIP-7610, which rejects the contract deployment if the destination has non-empty storage.

Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
2025-09-24 07:57:02 +08:00
Daniel Liu
36fb646cb1
core/vm: fix mismatched names in comments (#1567) 2025-09-24 07:56:11 +08:00
wit liu
2b658e7934
core: fix unnecessary conversion (#1565) 2025-09-24 07:55:14 +08:00
wit liu
ff1867cc45
all: fix govet (#1562) 2025-09-24 07:52:07 +08:00
wit liu
9ce02a7010
all: fix goimports (#1560) 2025-09-24 07:51:10 +08:00
Daniel Liu
862f18ec58
core/state, trie: fix trie flush order for proper pruning #25581 (#1112)
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2025-09-24 07:44:22 +08:00
wit liu
7d5a03a46e
all: fix unnecessary conversion (#1527)
Co-authored-by: wit <wit765765346@gmail>
2025-09-21 19:45:42 +08:00
wit liu
d9ae317a38
all: format golang files (#1548)
Co-authored-by: wit <wit765765346@gmail>
2025-09-21 19:41:54 +08:00
wit liu
a663ea311c
all: fix white space (#1529)
Co-authored-by: wit <wit765765346@gmail>
2025-09-21 19:01:34 +08:00
wit liu
1a2c8ee180
all: fix govet (#1517)
Co-authored-by: wit <wit765765346@gmail>
2025-09-21 18:55:13 +08:00
wgr523
b8e5baa978
all: fix minted token recorded value is zero (#1480) 2025-09-17 22:50:52 +08:00
Daniel Liu
af69d382ff
eth/tracers: various fixes #30540 (#1491)
Breaking changes:

- The ChainConfig was exposed to tracers via VMContext passed in
`OnTxStart`. This is unnecessary specially looking through the lens of
live tracers as chain config remains the same throughout the lifetime of
the program. It was there so that native API-invoked tracers could
access it. So instead we moved it to the constructor of API tracers.

Non-breaking:

- Change the default config of the tracers to be `{}` instead of nil.
This way an extra nil check can be avoided.

Refactoring:

- Rename `supply` struct to `supplyTracer`.
- Un-export some hook definitions.

Co-authored-by: Sina M <1591639+s1na@users.noreply.github.com>
2025-09-17 09:04:38 +08:00
wit liu
e9da4ca95b
all: fix ineffassign (#1516)
Co-authored-by: wit <wit765765346@gmail>
2025-09-17 08:49:28 +08:00
Daniel Liu
33b4940d56
core/tracing, eth/tracers/live: supply delta live tracer #29347 (#1475)
Introduces the first built-in live tracer. The supply tracer tracks ETH supply changes across blocks
and writes the output to disk. This will need to be enabled through CLI using the `--vmtrace supply` flag.

Co-authored-by: Chris Ziogas <ziogaschr@gmail.com>
Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
2025-09-17 08:46:12 +08:00
wit liu
6b20f9ad88
XDCx, core/state: fix unnecessary conversion (unconvert) (#1507)
Co-authored-by: wit <wit765765346@gmail>
2025-09-17 08:25:07 +08:00
Daniel Liu
beb6ff97d7
core: remove outdated tests #27662 (#1496) 2025-09-17 08:16:07 +08:00
wit liu
a5d03e4a8a
all: fix inconsistent receiver name (#1494)
Co-authored-by: wit <wit765765346@gmail>
2025-09-17 08:15:23 +08:00
Daniel Liu
fd040ec0d7
core/tracing: add OnClose Trace Hook #29629 (#1474) 2025-09-13 10:38:34 +08:00
Daniel Liu
a9dc0a81a3
core/tracing: add system call callback #29355 (#1469) 2025-09-13 10:28:13 +08:00
Daniel Liu
47abf2eb16
core/vm: better error-info for vm errors #29354 (#1464)
Co-authored-by: Martin HS <martin@swende.se>
2025-09-13 10:20:34 +08:00
Daniel Liu
80159e5854
core/state, trie: add DeleteAccount method #25531 (#1108) 2025-09-13 09:29:51 +08:00
wit765
12eab8e785
all: rename ChainId to ChainID #16853 (#1456)
Co-authored-by: wit <wit765765346@gmail>
2025-09-09 22:54:34 +08:00
Daniel Liu
4e234f231a
core, trie: flush preimages to db on database close #25533 (#1107) 2025-09-09 17:32:22 +08:00
Daniel Liu
ad9003c41e
eth/tracers: live chain tracing with hooks #29189 (#1352)
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: Sina M <1591639+s1na@users.noreply.github.com>
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>
2025-09-09 17:30:56 +08:00
Daniel Liu
be61f66cb2
core/types: remove message #25977 (#1322) 2025-09-09 11:23:47 +08:00
Daniel Liu
96a7ed54c6
core/vm: set tracer-observable value of a delegatecall to match parent value #26632 (#1317)
This is a breaking change in the tracing hooks API as well as semantics of the callTracer:

- CaptureEnter hook provided a nil value argument in case of DELEGATECALL. However to stay consistent with how delegate calls behave in EVM this hook is changed to pass in the value of the parent call.
- callTracer will return parent call's value for DELEGATECALL frames.

---------

Co-authored-by: Chris Ziogas <ziogaschr@gmail.com>
Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
2025-09-09 10:41:48 +08:00
Daniel Liu
7d4d81f586
eth/tracers, core/vm: remove time from trace output and tracing interface #26291 (#1311)
This removes the 'time' field from logs, as well as from the tracer interface. This change makes the trace output deterministic.  If a tracer needs the time they can measure it themselves. No need for evm to do this.

Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
2025-09-09 09:26:10 +08:00
Daniel Liu
900b333241
eth/tracers: add support for block overrides in debug_traceCall #24871 (#1288) 2025-09-08 21:22:09 +08:00