Commit graph

24 commits

Author SHA1 Message Date
Daniel Liu
dce7b371a0
eth/gasestimator, internal/ethapi: move gas estimator out of rpc #28600 (#1589) 2025-10-08 12:47:45 +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
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
36374be05f
eth/tracers: move tracing APIs into eth/tracers #22161 #22473 (#1252) 2025-08-08 10:25:43 +08:00
Daniel Liu
6e33633d28 common: drop BigMin and BigMax, they pollute our dep graph (#30645) 2024-12-28 09:06:31 +08:00
Daniel Liu
6ec35b9644 all: get rid of custom MaxUint64 and MaxUint64 (#30636) 2024-12-28 09:06:31 +08:00
Daniel Liu
bc14c672f2 internal/ethapi: support unlimited rpc gas cap in eth_createAccessList (#28846) 2024-11-01 11:36:53 +08:00
Daniel Liu
0237985f58 internal/ethapi: ethSendTransaction check baseFee (#27834) 2024-11-01 11:36:53 +08:00
ucwong
e4153f756d internal/ethapi: fix comment typo (#25548) 2024-11-01 11:36:53 +08:00
Daniel Liu
49b54aaede internal/ethapi: rework setDefaults for tx args so fee logic is separate (#25197) 2024-11-01 11:36:53 +08:00
Daniel Liu
fa83f32e5c internal/ethapi: error if tx args includes ChainId not match local (#25157) 2024-11-01 11:36:53 +08:00
Daniel Liu
588847ccea internal/ethapi: use same receiver names (#24252) 2024-11-01 11:36:53 +08:00
Daniel Liu
d850fc4081 core: only check sendernoeoa in non fake mode (#23424) 2024-11-01 11:36:53 +08:00
Daniel Liu
e4895bf5c5 internal/ethapi: add back missing check for maxfee < maxPriorityFee (#23384) 2024-11-01 11:36:53 +08:00
Daniel Liu
655fb584b3 internal/ethapi: make ext signer sign legacy (#23274) 2024-11-01 11:36:53 +08:00
Daniel Liu
93dd33b607 internal/ethapi: fix transaction APIs (#23179) 2024-11-01 11:36:52 +08:00
Daniel Liu
18bc355e89 core, internal: support various eth_call invocations post 1559 (#23027) 2024-11-01 11:36:52 +08:00
Daniel Liu
ef1dbd0772 internal/ethapi: support for eip-1559 txs in clef (#22966) 2024-11-01 11:36:52 +08:00
Daniel Liu
4c096de9b0 all: rename internal 1559 gas fields (#23010) 2024-11-01 11:36:52 +08:00
Daniel Liu
bfd1c0c9e0 core, eth, internal, les: RPC methods and fields for EIP 1559 (#22964) 2024-11-01 11:36:52 +08:00
Daniel Liu
e18553b855 all: implement eip-1559 (#22837) 2024-11-01 11:36:52 +08:00
JukLee0ira
925c20061d internal/ethapi: support both input and data for personal_sendTransaction (#23476) 2024-08-21 15:15:53 +08:00
JukLee0ira
138ac7c967 internal/ethapi: merge CallArgs and SendTxArgs (#22718) 2024-08-21 15:15:53 +08:00