Commit graph

15202 commits

Author SHA1 Message Date
Bala Murali Krishna Komatireddy
804db3128a consensus/misc: fix min gas limit error message (#28085) 2023-11-10 11:09:46 -06:00
lightclient
7cf8bf905e core: fix calculation of blob gasprice in tx receipt (#28082)
This fixes the derived value BlobGasPrice on the receipt of EIP-4844 transactions, which was previously erroneously set to the price cap.
2023-11-10 11:09:46 -06:00
Martin Holst Swende
6a22e29d27 ethclient: use 'input', not 'data' as field for transaction input (#28078) 2023-11-10 11:09:46 -06:00
Péter Szilágyi
fce8323197 go.mod: pull in a fix from pebble crl-release-23.1 (#28081) 2023-11-10 11:09:46 -06:00
rjl493456442
ef485b7254 core, trie: cleanup trie database (#28062) 2023-11-10 11:09:46 -06:00
Martin Holst Swende
f32ea1a1c6 log: avoid stack lookups when not needed/used (#28069)
Avoids the somewhat expensive stack.Caller invocation by checking if it is needed
2023-11-10 11:09:46 -06:00
Martin Holst Swende
ebad10b3af deps: update minisign (#28066)
This updates minisign to the latest version. One new thing is that minisign (not go-minisign) has started to prehash the file, and in order to make geth pass the version-check, we need to sign the file in legacy-mode.
2023-11-10 11:09:46 -06:00
Delweng
f3d494593f core/rawdb: don't warn for missing "unclean shutdown markers" (#28014)
This changes removes the warn-printout about not finding unclean shutdown markers, which always happens on fresh installs / wiped databases.
2023-11-10 11:09:46 -06:00
ucwong
46d7fb2548 go.mod: goupnp 1.3.0 (#28053) 2023-11-10 11:09:46 -06:00
lightclient
d629692cbf params: update 4844 parameters (#28026)
On ACD 163, it was agreed to bump the target and max blob values from `2/4` to `3/6` for future devnets until we could decide on final mainnet number. This change contains said update, making master pass all the hive tests. The final decision for mainnet cancun is still to be made.
---------

Co-authored-by: Felix Lange <fjl@twurst.com>
2023-11-10 11:09:46 -06:00
lightclient
cfdfeea6ad core/forkid: skip genesis forks by time (#28034)
* core/forkid: skip genesis forks by time

* core/forkid: add comment about skipping non-zero fork times

* core/forkid: skip all time based forks in genesis using loop

* core/forkid: simplify logic for dropping time-based forks
2023-11-10 11:09:46 -06:00
lightclient
73b70b7870 beacon/engine: add shouldOverrideBuilder to payload envelope (#28029)
beacon/engine: add shouldOverrideBuilder to payload envelope
2023-11-10 11:09:46 -06:00
Marius van der Wijden
12d3fe4705 eth/catalyst: set random value in dev mode (#27940)
* eth/catalyst: set random

* Apply suggestions from code review

---------

Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-11-10 11:09:46 -06:00
rjl493456442
af34ccfc12 core/state: simplify storage trie update and commit (#28030)
This change improves function description and simplifies logic in statedb update and commit operations.
2023-11-10 11:09:46 -06:00
Jorge
c10e9371e2 metrics, cmd/geth: informational metrics (prometheus, influxdb, opentsb) (#24877)
This chang creates a GaugeInfo metrics type for registering informational (textual) metrics, e.g. geth version number. It also improves the testing for backend-exporters, and uses a shared subpackage in 'internal' to provide sample datasets and ordered registry. 

Implements #21783

---------

Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-11-10 11:09:46 -06:00
Péter Szilágyi
aba3725746 go.mod: regenerate all indirect dependencies to clean up the junk (#28037) 2023-11-10 11:09:46 -06:00
lightclient
ca0d2cfce0 core/txpool/blobpool: fix rlp decoding flaw during offload (#28027) 2023-11-10 11:09:46 -06:00
Martin Holst Swende
bf493562d0 tests: use 'sender' in state tests if present (#28023)
A while back, statetests started coming with sender baked in, which at least 
evmone makes use of. Let's make use of that too, and save some cycles.
2023-11-10 11:09:46 -06:00
CrashOverride
56a8ce2332 miner/stress/clique: fix typo (#28016)
fix typo
2023-11-10 11:09:46 -06:00
Marius van der Wijden
22c5567198 build, tests: add execution-spec-tests (#26985)
This makes it possible to run the execution-spec-tests (a.k.a. pyspec) in CI.

---------

Co-authored-by: Felix Lange <fjl@twurst.com>
2023-11-10 11:09:46 -06:00
Martin Holst Swende
1e72eeaa3d core/state: fix missing import (#28010) 2023-11-10 11:09:46 -06:00
lightclient
7a2909ac49 eth: remove check for tdd reached on pos api block tags (#27799)
This change defers to the blockchain for in what circumstances to return error, instead of handling many error-cases in the api backend.
2023-11-10 11:09:46 -06:00
rjl493456442
924d276688 core/state: implement fast storage deletion (#27955)
This changes implements faster post-selfdestruct iteration of storage slots for deletion, by using snapshot-storage+stacktrie to recover the trienodes to be deleted. This mechanism is only implemented for path-based schema. 

For hash-based schema, the entire post-selfdestruct storage iteration is skipped, with this change, since hash-based does not actually perform deletion anyway. 

---------

Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-11-10 11:09:46 -06:00
Shude Li
be49691dac account/abi: handle solidity panic revert (#27868)
See  https://docs.soliditylang.org/en/v0.8.21/control-structures.html#panic-via-assert-and-error-via-require
2023-11-10 11:09:46 -06:00
Martin Holst Swende
8398b7094a beacon/engine, eth/catalyst, miner: EIP-4788 CL/EL protocol updates (#27872)
This PR makes EIP-4788 work in the engine API and miner. It also fixes some bugs related to 
EIP-4844 block processing and mining. Changes in detail:

- Header.BeaconRoot has been renamed to ParentBeaconRoot.
- The engine API now implements forkchoiceUpdatedV3
- newPayloadV3 method has been updated with the parentBeaconBlockRoot parameter
- beacon root is now applied to new blocks in miner
- For EIP-4844, block creation now updates the blobGasUsed field of the header
2023-11-10 11:09:46 -06:00
Delweng
f796c8f560 eth/catalyst: reset to current header if chain is rewound (in dev mode) (#27992)
Signed-off-by: jsvisa <delweng@gmail.com>
Co-authored-by: Jared Wasinger <j-wasinger@hotmail.com>
2023-11-10 11:09:46 -06:00
Felix Lange
b92d89681f core/types: transaction and receipt encoding/decoding optimizations (#27976)
Just some minor optimizations I figured out a while ago. By using ReadBytes instead of
Bytes on the rlp stream, we can save the allocation of a temporary buffer for the typed tx
payload.

If kind == rlp.Byte, the size reported by Stream.Kind will be zero, but we need a buffer
of size 1 for ReadBytes. Since typed txs always have to be longer than 1 byte, we can just
return an error for kind == rlp.Byte.

There is a also a small change for Log: since the first three fields of Log are the ones that 
should appear in the canon encoding, we can simply ignore the remaining fields via 
struct tag. Doing this removes an indirection through the rlpLog type.

---------

Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-11-10 11:09:46 -06:00
Péter Szilágyi
8f5d0635ce cmd, core, params: add support for the Holesky testnet (#28007)
* cmd, core, params: add support for the Holesky testnet

* cmd/devp2p: add support for holesky for the dns crawler
2023-11-10 11:09:46 -06:00
Péter Szilágyi
2fae17c8f6 eth/protocols/eth: stop advertising eth/66 for pathdb nodes (#28006) 2023-11-10 11:09:46 -06:00
Felix Lange
b5c26cadde core: support null balance in genesis (#28005) 2023-11-10 11:09:46 -06:00
aaronbuchwald
1f2bb0106c core/state/snapshot: replace diffToDisk ideal batch size with 64MB (#27977) 2023-11-10 11:09:46 -06:00
Guido Vranken
d1920b4ffe core/vm/runtime: Add Random field to config (#28001) 2023-11-10 11:09:46 -06:00
rjl493456442
f64d516284 eth/catalyst: use block as finalization (#28000) 2023-11-10 11:09:46 -06:00
Delweng
b71919e5e2 eth/catalyst: disable heartbeat for simulated beacon node (#27979)
* eth/catalyst: disable heartbeat for simulated beacon node

Signed-off-by: jsvisa <delweng@gmail.com>

* eth/catalyst: update

* eth/catalyst: disable heartbeat for tester

---------

Signed-off-by: jsvisa <delweng@gmail.com>
Co-authored-by: Felix Lange <fjl@twurst.com>
Co-authored-by: Gary Rong <garyrong0905@gmail.com>
2023-11-10 11:09:46 -06:00
Felix Lange
dd6f2f98aa all: use rlp.DecodeBytes instead of rlp.Decode where possible (#27994) 2023-11-10 11:09:46 -06:00
Marius van der Wijden
4c1fe069eb miner: refactor getSealingBlock method (#27993) 2023-11-10 11:09:46 -06:00
lightclient
2099a80396 miner: add to build block with EIP-4844 blobs (#27875)
---------

Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: Felix Lange <fjl@twurst.com>
2023-11-10 11:09:46 -06:00
Felix Lange
7ac4bfcf3d core/rawdb: fix 32bit build (#27995) 2023-11-10 11:09:46 -06:00
Martin Holst Swende
b85c87b5d4 core/state: remove public method ForEachStorage (#27986)
Co-authored-by: Felix Lange <fjl@twurst.com>
2023-11-10 11:09:46 -06:00
Marius van der Wijden
4639725b10 core/rawdb: allocate database keys with explicit size to avoid slice growth (#27772) 2023-11-10 11:09:46 -06:00
cui
98fee83322 crypto/bn256: eliminate dead store (#27944) 2023-11-10 11:09:46 -06:00
ucwong
1fa04ea6e1 les: use new atomic types (#27856)
Co-authored-by: Felix Lange <fjl@twurst.com>
2023-11-10 11:09:46 -06:00
Martin Holst Swende
0aa81738e6 core/rawdb, ethdb/pebble: avoid fsync db in tests (#27836)
Adds an option to disable fsync for database operations.
This is to make tests faster.
2023-11-10 11:09:46 -06:00
Felix Lange
b3a7b8f766 rlp: remove allocation of bytes.Reader in DecodeBytes (#27987) 2023-11-10 11:09:46 -06:00
Péter Szilágyi
62e19dde73 travis: get rid of old useless GO111MODULE directives (#27991) 2023-11-10 11:09:46 -06:00
Shude Li
c8563890cb account/abi: convert if-else-if chain to tagged switch (#27869)
account/abi: conver if-else-if chain to tagged switch
2023-11-10 11:09:46 -06:00
Martin Holst Swende
be5feb2250 travis: increase travis wait time (#27975) 2023-11-10 11:09:46 -06:00
Péter Szilágyi
22b083a163 cmd/utils: fix a startup issue on deleted chaindata but dangling ancients (#27989) 2023-11-10 11:09:46 -06:00
rjl493456442
1e72cdbd32 eth/catalyst: disable full payload when not in dev mode (#27921)
eth/catalyst: only enable full payload in dev mode
2023-11-10 11:09:46 -06:00
Péter Szilágyi
2aa9c9c87b core, eth, trie: expose more detailed dirty ram tracking for diff layers (#27971) 2023-11-10 11:09:46 -06:00