Commit graph

14582 commits

Author SHA1 Message Date
Péter Szilágyi
ac068a3415 go.mod: update fastcache to latest (#28334) 2023-11-10 11:09:46 -06:00
Péter Szilágyi
e01a852131 go.mod: update gnark lib to fix a malleability issue (#28333) 2023-11-10 11:09:46 -06:00
Péter Szilágyi
5af1183376 go.mod, internal/build: update Azure dependencies (#28329) 2023-11-10 11:09:46 -06:00
rjl493456442
631db5c5ae eth/protocols/snap: fix snap sync failure on empty storage range (#28306)
This change addresses an issue in snap sync, specifically when the entire sync process can be halted due to an encountered empty storage range.

Currently, on the snap sync client side, the response to an empty (partial) storage range is discarded as a non-delivery. However, this response can be a valid response, when the particular range requested does not contain any slots.

For instance, consider a large contract where the entire key space is divided into 16 chunks, and there are no available slots in the last chunk [0xf] -> [end]. When the node receives a request for this particular range, the response includes:

    The proof with origin [0xf]
    A nil storage slot set

If we simply discard this response, the finalization of the last range will be skipped, halting the entire sync process indefinitely. The test case TestSyncWithUnevenStorage can reproduce the scenario described above.

In addition, this change also defines the common variables MaxAddress and MaxHash.
2023-11-10 11:09:46 -06:00
Péter Szilágyi
780adca145 params: begin v1.13.4 release cycle 2023-11-10 11:09:46 -06:00
Péter Szilágyi
cd69ec6e76 params: release Geth v.1.13.3 2023-11-10 11:09:46 -06:00
Martin Holst Swende
7f451ef421 cmd/geth: fix failing test (#28322) 2023-11-10 11:09:46 -06:00
vuittont60
a067689e26 accounts, cmd: fix typos (#28300) 2023-11-10 11:09:46 -06:00
rjl493456442
9a372b6518 cmd, core: resolve scheme from a read-write database (#28313)
* cmd, core: resolve scheme from a read-write database

* cmd, core, eth: move the scheme check in the ethereum constructor

* cmd/geth: dump should in ro mode

* cmd: reverts
2023-11-10 11:09:46 -06:00
Péter Szilágyi
73acfd1293 eth/fetcher: fix typo 2023-11-10 11:09:46 -06:00
Péter Szilágyi
32f701ec23 eth/fetcher: throttle tx fetches to 128KB responses (#28304)
* eth/fetcher: throttle tx fetches to 128KB responses

* eth/fetcher: unindent a clause per review request
2023-11-10 11:09:46 -06:00
rjl493456442
9bff43bccb ethdb/pebble: add level file metrics (#28271) 2023-11-10 11:09:46 -06:00
Martin Holst Swende
bc238e6ddb trie: remove owner and binary marshaling from stacktrie (#28291)
This change
  - Removes the owner-notion from a stacktrie; the owner is only ever needed for comitting to the database, but the commit-function, the `writeFn` is provided by the caller, so the caller can just set the owner into the `writeFn` instead of having it passed through the stacktrie.
  - Removes the `encoding.BinaryMarshaler`/`encoding.BinaryUnmarshaler` interface from stacktrie. We're not using it, and it is doubtful whether anyone downstream is either.
2023-11-10 11:09:46 -06:00
Péter Szilágyi
a52b162d7c accounts/abi/bind/backend: use requested header for gas prices and gas limits (#28280) 2023-11-10 11:09:46 -06:00
lightclient
d873036558 git: ignore tests/spec-tests folder (#28254) 2023-11-10 11:09:46 -06:00
Péter Szilágyi
41820a9bd6 eth: enforce announcement metadatas and drop peers violating the protocol (#28261)
* eth: enforce announcement metadatas and drop peers violating the protocol

* eth/fetcher: relax eth/68 validation a bit for flakey clients

* tests/fuzzers/txfetcher: pull in suggestion from Marius

* eth/fetcher: add tests for peer dropping

* eth/fetcher: linter linter linter linter linter
2023-11-10 11:09:46 -06:00
Brandon Liu
e5992d458d trie: fix a typo, use correct docstrings (#28302)
* fix a typo

* trie: additional fixes to docstrings

---------

Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-11-10 11:09:46 -06:00
Martin Holst Swende
6ffa8094b3 all: move light.NodeSet to trienode.ProofSet (#28287)
This is a minor refactor in preparation of changes to range verifier. This PR contains no intentional functional changes but moves (and renames) the light.NodeSet
2023-11-10 11:09:46 -06:00
hyunchel
7aa36bb86b eth, params: fix typos (#28286)
* eth/ethconfig: fix typo on comment

* params/config: fix typo on comment

* eth/ethconfig: fix typo on comment
2023-11-10 11:09:46 -06:00
0xbstn
46dec55b3e core: fix typos (#28255)
fixes various typos in core
2023-11-10 11:09:46 -06:00
Martin Holst Swende
b5cf9ab566 trie: refactor stacktrie (#28233)
This change refactors stacktrie to separate the stacktrie itself from the
internal representation of nodes: a stacktrie is not a recursive structure
of stacktries, rather, a framework for representing and operating upon a set of nodes.

---------

Co-authored-by: Gary Rong <garyrong0905@gmail.com>
2023-11-10 11:09:46 -06:00
hyunchel
7feacf021d core/txpool/legacypool: fix typo (#28258) 2023-11-10 11:09:46 -06:00
tactical_retreat
f22ae6a9e3 cmd/evm/internal/t8ntoo: tiny bugfix for difficulty field (#28245) 2023-11-10 11:09:46 -06:00
Péter Szilágyi
42fdae7d11 eth: when snap is complaining for missing eth, be verbose about the details (#28249)
* eth: when snap is complaining for missing eth, be verbost about the details

* eth: lower snapshot registration error verbosity
2023-11-10 11:09:46 -06:00
Péter Szilágyi
723fd06e12 core, eth, miner: start propagating and consuming blob txs (#28243)
* core, eth, miner: start propagating and consuming blob txs

* eth/protocols/eth: disable eth/67 if Cancun is enabled

* core/txpool, eth, miner: pass gas limit infos in lazy tx for mienr filtering

* core/txpool, miner: add lazy resolver for pending txs too

* core, eth: fix review noticed bugs

* eth, miner: minor polishes in the mining and announcing logs

* core/expool: unsubscribe the event scope
2023-11-10 11:09:46 -06:00
Péter Szilágyi
293fc408d9 cmd/devp2p, eth: drop eth/66 (#28239)
* cmd/devp2p, eth: drop eth/66

* eth/protocols/eth: yes sir, linter
2023-11-10 11:09:46 -06:00
hyunchel
22de582c86 rpc: fix erroneous error-message in test (#28227) 2023-11-10 11:09:46 -06:00
Chirag Garg
ce2182937b trie: fix benchmark by ensuring key immutability (#28221)
This change fixes the bug in a benchmark, where the input to the trie is reused in a way which is not correct. 

---------

Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-11-10 11:09:46 -06:00
0xbstn
3c77c177c7 core: fix typos (#28238) 2023-11-10 11:09:46 -06:00
lightclient
e457ceff01 cmd/evm: cancun-updates for b11r and t8n -tools (#28195)
This change updates `evm b11r` (blockbuilder) and `evm t8n` (transition) tools to contain cancun updates (e.g. new header fields)
---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
2023-11-10 11:09:46 -06:00
tylerni7
07bb397133 eth, rpc: add configurable option for wsMessageSizeLimit (#27801)
This change adds a configurable limit to websocket message. 
---------

Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-11-10 11:09:46 -06:00
Marius van der Wijden
5585e79348 core: implement BLOBBASEFEE opcode (0x4a) (#28098)
Implements "EIP-7516: BLOBBASEFEE opcode" for cancun, as per spec: https://eips.ethereum.org/EIPS/eip-7516
2023-11-10 11:09:46 -06:00
Péter Szilágyi
f7547536c8 cmd, eth: switch the dev synctarget to hash from block (#28209)
* cmd, eth: switch the dev synctarget to hash from block

* cmd/utils, eth/catalyst: terminate node wyen synctarget reached
2023-11-10 11:09:46 -06:00
lightclient
aeff118aa9 eth/catalyst: add validation error in new paylaod hash mismatch (#28226)
* eth/catalyst: add validation error in new paylaod hash mismatch

* eth/catalyst/api: refactor api.invalid(..) to return nil latest valid hash if none provided
2023-11-10 11:09:46 -06:00
Péter Szilágyi
eaf8598864 ethdb/pebble: luv you linter 2023-11-10 11:09:46 -06:00
rjl493456442
7e60827033 ethdb/pebble: upgrade pebble to master (aa077af62593) (#28070)
* ethdb/pebble: upgrade pebble

* ethdb/pebble, go.mod: update pebble to master (aa077af62593)

---------

Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2023-11-10 11:09:46 -06:00
Péter Szilágyi
4502642810 common: remove address.Hash footgun (#28228) 2023-11-10 11:09:46 -06:00
aaronbuchwald
ab25e35fac core/state: small trie prefetcher nits (#28183)
Small trie prefetcher nits
2023-11-10 11:09:46 -06:00
Sina Mahmoodi
84977b0ed7 core: infer blobGasUsed in chain maker (#28212)
Same way that the gasUsed in header is updated when a tx 
is added we should update blob gas used instead of requiring caller
to set it manually.
2023-11-10 11:09:46 -06:00
0xbstn
7fcd6b1fce core: fix typos (#28218)
* fix(core/txpool): fix typos

* core/asm: fix typos

* core/bloombits: fix typos

* core/rawdb: fix typos
2023-11-10 11:09:46 -06:00
Péter Szilágyi
caf030e643 ethdb, internal/ethapi: support exposing Pebble stats too, beside LevelDB (#28224)
ethdb, internal/ethapi: support exposing Pebble stats too, besinde LevelDB
2023-11-10 11:09:46 -06:00
phenix3443
afa7d2ef82 core, eth: typos and some code formatting (#28201)
* fix: typo

* feat: revert symbol name
2023-11-10 11:09:46 -06:00
Delweng
7de2afbbaf internal/ethapi: compact db missing key starts with 0xff (#28207)
Signed-off-by: jsvisa <delweng@gmail.com>
2023-11-10 11:09:46 -06:00
lightclient
97e54bda96 params: update 4788 beacon roots contract addr (#28205)
This change contains the final (?) address for 4788 beacon root contract. The update to the EIP is being tracked here: https://github.com/ethereum/EIPs/pull/7672

---------

Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-11-10 11:09:46 -06:00
Péter Szilágyi
0a3c4ab3e7 params: begin v1.13.3 release cycle 2023-11-10 11:09:46 -06:00
Péter Szilágyi
0a0cba4e1f params: release Geth v1.13.2 2023-11-10 11:09:46 -06:00
rjl493456442
bcc2e34f7e core, accounts, eth, trie: handle genesis state missing (#28171)
* core, accounts, eth, trie: handle genesis state missing

* core, eth, trie: polish

* core: manage txpool subscription in mainpool

* eth/backend: fix test

* cmd, eth: fix test

* core/rawdb, trie/triedb/pathdb: address comments

* eth, trie: address comments

* eth: inline the function

* eth: use synced flag

* core/txpool: revert changes in txpool

* core, eth, trie: rename functions
2023-11-10 11:09:46 -06:00
0xbstn
cf252e4eaa core/txpool: fix typos (#28213)
fix(core/txpool): fix typos
2023-11-10 11:09:46 -06:00
bnovil
1a545fc59e core/txpool: fix typos (#28208)
core/txpool:fix typos
2023-11-10 11:09:46 -06:00
rjl493456442
832f048414 eth/downloader: remove header rollback mechanism (#28147)
* eth/downloader: remove rollback mechanism in downloader

* eth/downloader: remove the tests
2023-11-10 11:09:46 -06:00