Commit graph

16493 commits

Author SHA1 Message Date
Jared Wasinger
e364107006 remove logging statement 2025-11-23 21:44:29 -08:00
Jared Wasinger
2b003dc9a6 fix triggered by a 'contract creation -> revert -> creation of same contract' in the same transaction 2025-11-22 21:17:40 +08:00
Jared Wasinger
159bbcd831 minor refactor. instrument the bal tracer with some debug logging 2025-11-22 16:33:01 +08:00
Jared Wasinger
2614e20cea correctly set the error in IntermediateRoot of BALStateTransition 2025-11-18 15:53:25 +08:00
Jared Wasinger
b3d8591cb0 more cleanup 2025-11-13 01:44:32 +08:00
Jared Wasinger
74ca164123 cleanup bal state transition 2025-11-12 17:51:01 +08:00
Jared Wasinger
abd8612b1d add state prefetch timer 2025-11-12 15:16:25 +08:00
Jared Wasinger
2721e8a1a2 attempt to optimize state root calculation for BALs 2025-11-12 14:51:54 +08:00
Jared Wasinger
b24306eacc fix some lint issues 2025-10-28 12:35:00 +08:00
Jared Wasinger
b44c182cbd more odds-and-ends 2025-10-28 12:09:44 +08:00
Jared Wasinger
9f9f5af6fa fix up odds-and-ends 2025-10-28 12:09:33 +08:00
Jared Wasinger
e481a1a7d1 fix json encoding of BAL for debug API: make it human-readable again 2025-10-21 19:36:50 +08:00
Jared Wasinger
2994e096c6 update TODO in the code. remove old changes from the statedb unit tests 2025-10-20 18:02:41 +08:00
Jared Wasinger
068757faea small fixups 2025-10-20 16:52:16 +08:00
Jared Wasinger
0de169fd31 apply same changes to hook invocation regarding nonce/code update for legacy selfdestruct 2025-10-17 14:47:27 +08:00
Jared Wasinger
6610c2b3cc fix errors from rebase 2025-10-17 13:39:44 +08:00
Jared Wasinger
dfd2e44701 use amsterdam blob schedule for amsterdam fork. remove unused struct 2025-10-17 13:31:48 +08:00
Jared Wasinger
06d62a54ce general cleanup. note bug which I'm waiting on test case in order to push fix for it. 2025-10-17 13:31:48 +08:00
Jared Wasinger
77a98936ed clarify case about selfdestructing initcode 2025-10-17 13:31:48 +08:00
Jared Wasinger
58eac317b1 ensure that CodeChange tracer hooks don't get called for noop cases where the cur and prev code is the same 2025-10-17 13:31:48 +08:00
Jared Wasinger
fbe136a45e fix build 2025-10-17 13:31:48 +08:00
Jared Wasinger
eb7f934f26 minor cleanups 2025-10-17 13:31:48 +08:00
Jared Wasinger
ca6ba13d1b ensure tracers don't call CodeChange with prevCode==curCode (was done in the case of a failed contract creation). remove unecessary error check and panic 2025-10-17 13:31:48 +08:00
Jared Wasinger
c2c132d6a0 more documentation 2025-10-17 13:31:48 +08:00
Jared Wasinger
2e84d09c1c improve --experimental.bal flag description 2025-10-17 13:31:48 +08:00
Jared Wasinger
45fc8d2468 remove amsterdam tests 2025-10-17 13:31:48 +08:00
Jared Wasinger
68a4ecaf1f refactor: move access list index mutations/read construction within the ConstructionAccessList and don't expose it publicly 2025-10-17 13:31:46 +08:00
Gary Rong
7410413eec core/state, core/tracing: add state read hooks 2025-10-17 13:29:38 +08:00
Gary Rong
af34c01b90 core/tracing: reshape the comments in core/tracing 2025-10-17 13:28:51 +08:00
Jared Wasinger
b33cf06ce7 all: add block access list construction via flag --experimentalbal. When enabled, post-Cancun blocks which lack access lists will have them constructed on execution during import. When importing blocks which contain access lists, transaction execution and state root calculation is performed in parallel. 2025-10-17 13:28:04 +08:00
ucwong
0a2c21acd5
eth/ethconfig : fix eth generate config (#32929) 2025-10-17 10:35:44 +08:00
Youssef Azzaoui
b373d797d8
core/state: state copy bugfixes with Verkle Trees (#31696)
Some checks are pending
/ Linux Build (push) Waiting to run
/ Linux Build (arm) (push) Waiting to run
/ Windows Build (push) Waiting to run
/ Docker Image (push) Waiting to run
This change addresses critical issues in the state object duplication
process specific to Verkle trie implementations. Without these
modifications, updates to state objects fail to propagate correctly
through the trie structure after a statedb copy operation, leading to
inaccuracies in the computation of the state root hash.

---------

Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>
2025-10-16 19:19:44 +02:00
aodhgan
ff54ca02de
internal/ethapi: add eth_SendRawTransactionSync (#32830)
New RPC method eth_sendRawTransactionSync(rawTx, timeoutMs?) that
submits a signed tx and blocks until a receipt is available or a timeout
elapses.

Two CLI flags to tune server-side limits:

--rpc.txsync.defaulttimeout (default wait window)

--rpc.txsync.maxtimeout (upper bound; requests are clamped)

closes https://github.com/ethereum/go-ethereum/issues/32094

---------

Co-authored-by: aodhgan <gawnieg@gmail.com>
Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
2025-10-16 17:34:47 +02:00
hero5512
c37bd67019
ethclient: add support for eth_simulateV1 (#32856)
Adds ethclient support for the eth_simulateV1 RPC method, which allows
simulating transactions on top of a base state without making changes to
the blockchain.

---------

Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
2025-10-16 17:32:55 +02:00
Galoretka
5c535074ac
cmd/geth: log current key in expandVerkle instead of keylist[0] (#32689)
Some checks are pending
/ Windows Build (push) Waiting to run
/ Docker Image (push) Waiting to run
/ Linux Build (push) Waiting to run
/ Linux Build (arm) (push) Waiting to run
Fix logging in the verkle dump path to report the actual key being
processed.
Previously, the loop always logged keylist[0], which misled users when
expanding multiple keys and made debugging harder. This change aligns
the
log with the key passed to root.Get, improving traceability and
diagnostics.
2025-10-16 13:49:41 +02:00
Felix Lange
367b5fbe42 version: begin v1.16.6 release cycle 2025-10-16 09:59:52 +02:00
Felix Lange
32ccb548d3 version: release go-ethereum v1.16.5 stable 2025-10-16 09:58:47 +02:00
Felix Lange
7c107c2691
p2p/discover: remove hot-spin in table refresh trigger (#32912)
Some checks are pending
/ Linux Build (push) Waiting to run
/ Linux Build (arm) (push) Waiting to run
/ Windows Build (push) Waiting to run
/ Docker Image (push) Waiting to run
This fixes a regression introduced in #32518. In that PR, we removed the
slowdown logic that would throttle lookups when the table runs empty.
Said logic was originally added in #20389.

Usually it's fine, but there exist pathological cases, such as hive
tests, where the node can only discover one other node, so it can only
ever query that node and won't get any results. In cases like these, we
need to throttle the creation of lookups to avoid crazy CPU usage.
2025-10-15 11:51:33 +02:00
Delweng
40505a9bc0
eth/protocols/eth: reject message containing duplicated txs and drop peer (#32728)
Drop peer if sending the same transaction multiple times in a single message.

Fixes https://github.com/ethereum/go-ethereum/issues/32724


---------

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
Co-authored-by: Gary Rong <garyrong0905@gmail.com>
Co-authored-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2025-10-15 10:24:48 +02:00
mishraa-G
3cfc33477b
rpc: fix flaky test TestServerWebsocketReadLimit (#32889) 2025-10-15 15:39:00 +08:00
Felix Lange
f6064f32c4
internal/ethapi: convert legacy blobtx proofs in sendRawTransaction (#32849)
Some checks are pending
/ Linux Build (push) Waiting to run
/ Linux Build (arm) (push) Waiting to run
/ Windows Build (push) Waiting to run
/ Docker Image (push) Waiting to run
This adds a temporary conversion path for blob transactions with legacy
proof sidecar. This feature will activate after Fusaka. We will phase
this out when the fork has sufficiently settled and client side
libraries have been upgraded to send the new proofs.
2025-10-14 14:40:54 +02:00
cui
55a53208b7
accounts/abi: check presence of payable fallback or receive before proceeding with transfer (#32374)
remove todo
2025-10-14 17:07:48 +08:00
rjl493456442
e03d97a420
core/txpool/legacypool: fix pricedList updates (#32906)
This pr addresses a few issues brought by the #32270 

- Add updates to pricedList after dropping transactions.
- Remove redundant deletions in queue.evictList, since
pool.removeTx(hash, true, true) already performs the removal.
- Prevent duplicate addresses during promotion when Reset is not nil.
2025-10-14 08:40:04 +02:00
Csaba Kiraly
fb8d2298b6
eth: do not warn on switching from snap sync to full sync (#32900)
Some checks are pending
/ Linux Build (push) Waiting to run
/ Linux Build (arm) (push) Waiting to run
/ Windows Build (push) Waiting to run
/ Docker Image (push) Waiting to run
This happens normally after a restart, so it is better to use Info level
here.

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2025-10-14 11:03:31 +08:00
Csaba Kiraly
00f6f2b32f
eth/catalyst: remove useless log on enabling Engine API (#32901) 2025-10-14 11:01:43 +08:00
Guillaume Ballet
52c484de86
triedb/pathdb: catch int conversion overflow in 32-bit (#32899)
The limit check for `MaxUint32` is done after the cast to `int`. On 64
bits machines, that will work without a problem. On 32 bits machines,
that will always fail. The compiler catches it and refuses to build.

Note that this only fixes the compiler build. ~~If the limit is above
`MaxInt32` but strictly below `MaxUint32` then this will fail at runtime
and we have another issue.~~ I checked and this should not happen during
regular execution, although it might happen in tests.
2025-10-14 09:23:05 +08:00
Delweng
6337577434
p2p/discover: wait for bootstrap to be done (#32881)
Some checks are pending
/ Linux Build (push) Waiting to run
/ Linux Build (arm) (push) Waiting to run
/ Windows Build (push) Waiting to run
/ Docker Image (push) Waiting to run
This ensures the node is ready to accept other nodes into the
table before it is used in a test.

Closes #32863
2025-10-13 19:58:50 +02:00
Felföldi Zsolt
b28241ba85
cmd/workload: filter fuzzer test (#31613)
This PR adds a `filterfuzz` subcommand to the workload tester that
generates requests similarly to `filtergen` (though with a much smaller
block length limit) and also verifies the results by retrieving all
block receipts in the range and locally filtering out relevant results.
Unlike `filtergen` that operates on the finalized chain range only,
`filterfuzz` does check the head region, actually it seeds a new query
at every new chain head.
2025-10-13 19:21:01 +02:00
Marius van der Wijden
7b693ea17c
core/txpool/legacypool: move queue out of main txpool (#32270)
This PR move the queue out of the main transaction pool.
For now there should be no functional changes.
I see this as a first step to refactor the legacypool and make the queue
a fully separate concept from the main pending pool.

---------

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
Co-authored-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2025-10-13 19:07:36 +02:00
cui
b87581f297
p2p/enode: optimize DistCmp (#32888)
This speeds up DistCmp by 75% through using 64-bit operations instead of
byte-wise XOR.
2025-10-13 16:16:07 +02:00