params: EIP-7892 - Blob Parameter Only Hardforks#67
Closed
fjl wants to merge 111 commits into
Closed
Conversation
Implements `engine_getBlobsV2` which is needed for PeerDAS. --------- Co-authored-by: Felix Lange <fjl@twurst.com>
This pull request adjusts the number of allowed memory tables in Pebble. Pebble allows configuring an arbitrary number of memory tables to hold unflushed data. When the current memtable becomes full, it is scheduled for flushing, and a new memtable is allocated to accept subsequent writes. However, if too many memtables accumulate and are waiting to be flushed, subsequent writes will stall. Originally, only two memtables were configured, each with a size of 512 MB for Ethereum mainnet. While this setup works well under normal conditions, it becomes problematic under heavy write loads. In such scenarios, flushing is only triggered when more than 512 MB of data is pending, which may not be responsive enough. Even worse, if compactions are running concurrently, flushing memtables can become slow due to the heavy IO overhead, leading to write stalls across the system. This pull request tries to mitigate the performance degradation by having more memory tables but with a smaller size. In this case, the pending writes can be flushed more smoothly and responsively.
Fixes a regression introduced in ethereum#31791, see ethereum#31791 (comment)
This pull request introduces a new test suite in workload framework, for transaction tracing. **test generation** `go run . tracegen --trace-tests trace-test.json http://host:8545` and you can choose to store the trace result in a specific folder `go run . tracegen --trace-tests trace-test.json --trace-output ./trace-result http://host:8545` **test run** `./workload test -run Trace/Transaction --trace-invalid ./trace-invalid http://host:8545` The mismatched trace result will be saved in the specific folder for further investigation.
The block timestamp field is now added to the logs returned by eth_getLogs.
With EOF removed from the Osaka fork, and no longer being tested, the implementation will now just be bitrotting. I'm opting to remove it so it doesn't get in the way of other changes.
This fixes a regression in the state tests where we always initialized the KZG library. This was added to test some stuff in ethereum#31791
This is a followup to ethereum#31753. A cumulative counter is more useful when we need to measure / aggregate the metric over a longer period of time. It also means we won't miss data, e.g. our prometheus scrapes every 30 seconds, and so may miss a transient spike in the pre-aggregated mgas/s. --------- Co-authored-by: Gary Rong <garyrong0905@gmail.com>
As the preimage will only be stored if `t.preimages != nil`, so no need to save them into local cache if not enabled. This will reduce the memory wasted to copy the bytes --------- Signed-off-by: jsvisa <delweng@gmail.com>
…#31962) Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
…hereum#32015) Implements the updated gas cost changes introduced in ethereum/EIPs@5cdd751
This PR introduces a flag that enables returning of newly created state objects in the prestateTracer. **Rationale** Having this information is useful because local execution can more easily distinguish between newly created objects and system contracts. --------- Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
…um#31427) The prestateTracer had the intention of excluding accounts that were empty prior to execution from the prestate. This was being done only for created contracts. This PR makes it so all such empty accounts are excluded. This behavior is configurable using the `includeEmpty: true` flag introduced in ethereum#31855. --------- Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
This fixes a data race when accessing the `httpConfig.prefix` field. This field can be modified while the server is running through `enableRPC`. The fix is storing the prefix in the handler, which is accessed through the atomic pointer. alternative to ethereum#32035 fixes ethereum#32019
This reverts commit e0cf89e.
When `GetKey` is called, a missing preimage can cause the function to return a `nil` key. This, in turn, makes `account.Storage` persist an incorrect value.
This pull request reduces the threshold for triggering compaction at level0, leading to less compaction debt. This change is helpful in the case of heavy write-load, mitigating the case of heavy write stalls caused by compaction. closes ethereum#31830
Fixes a data race on the `wallets` slice when closing account Manager. At the moment, there is a data race between a go-routine calling the Manager's `Close` function and the background go-routine handling most operations on the `Manager`. The `Manager`'s `wallets` field is accessed without proper synchronization. By moving the closing of wallets from the `Close()` function into the background thread, this issue can be resolved.
fixes the gnark deserialisation --------- Co-authored-by: Felix Lange <fjl@twurst.com>
Adds marshaling fuzzing for G1 and G2 to oss-fuzz. Also aligns the behavior of the google library to that of gnark and cloudflare, which only ever read the first 64 / 128 bytes of the input, regardless of how long the input is
closes ethereum#31254 --------- Co-authored-by: Gary Rong <garyrong0905@gmail.com>
As ethereum#31769 defined a global hash pool, so we can reuse it, and also remove the unnecessary KeccakState buffering --------- Co-authored-by: Gary Rong <garyrong0905@gmail.com>
…thereum#32057) Pulls in cloudflare/bn256#48 to remove usage of R27 and R29 [which are reserved](https://go.dev/doc/asm#arm64).
Improves the SSTORE gas calculation a bit. Previously we would pull up
the state object twice. This is okay for existing objects, since they
are cached, however non-existing objects are not cached, thus we needed
to go through all 128 diff layers as well as the disk layer twice, just
for the gas calculation
```
goos: linux
goarch: amd64
pkg: github.com/ethereum/go-ethereum/core/vm
cpu: AMD Ryzen 9 5900X 12-Core Processor
│ /tmp/old.txt │ /tmp/new.txt │
│ sec/op │ sec/op vs base │
Interpreter-24 1118.0n ± 2% 602.8n ± 1% -46.09% (p=0.000 n=10)
```
---------
Co-authored-by: Gary Rong <garyrong0905@gmail.com>
Some of the flags were deprecated, so try to hide them in the help message. And move the `--vmodule` and `--logjson` flags to the DeprecatedCategory.
This is a follow up PR after ethereum#32128 , Seems I've missed to add --txlookuplimit as hidden. In hte meanwhile, I also add the other deprecated flags into the output of `show-deprecated-flags`
Moves the jumptable nil check our of the interpreter loop. Benchmarks show a 2-10% improvement.
https://eips.ethereum.org/EIPS/eip-7939 --------- Co-authored-by: spencer-tb <spencer@spencertaylorbrown.uk> Co-authored-by: Felix Lange <fjl@twurst.com>
- Change the log level to `warning`, during syncing blocks, the `final == nil` is normal. - Change to log tx hash.
This change enables more tests to run on GitHub actions. First, it removes the `-short` flag passed to `go test`, unskipping some longer running tests. We also enable the full consensus tests to run by enabling submodules during git clone. The EF now operates org wide runners with the `self-hosted-ghr` label. These are auto-scaling runners which should ideally allow us to process any amount of testing load we throw at them. The new runners have `HOME` configured differently from the actual user home directory, so our internal test for resolving `~` had to be adapted to work in this scenario.
https://eips.ethereum.org/EIPS/eip-7918 --------- Co-authored-by: Felix Lange <fjl@twurst.com>
ethereum/EIPs#9833 Based on ethereum#27540, ethereum#30043 --------- Co-authored-by: Ulaş Erdoğan <uerdogan2001@hotmail.com>
…ereum#32149) This pull request modifies the behavior of `--synctarget` to terminate the node only when `--exitWhenSynced` is explicitly specified.
…thereum#32166) alternate approach to ethereum#31328 suggested by @MariusVanDerWijden . This prevents Geth from outputting a lot of logs when trying to commit on-demand dev mode blocks while the client is shutting down. The issue is hard to reproduce, but I've seen it myself and it is annoying when it happens. I think this is a reasonable simple solution, and we can revisit if we find that the output is still too large (i.e. there is a large delay between initiating shut down and the simulated beacon receiving the signal, while in this loop). Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
…reum#31824) Implements EIP-7825 --------- Co-authored-by: Gary Rong <garyrong0905@gmail.com> Co-authored-by: lightclient <lightclient@protonmail.com> Co-authored-by: MariusVanDerWijden <m.vanderwijden@live.de>
…reum#31990) This PR adds a block validation check for the maximum block size, as required by EIP-7934, and also applies a slightly lower size limit during block building. --------- Co-authored-by: spencer-tb <spencer@spencertaylorbrown.uk> Co-authored-by: Felix Lange <fjl@twurst.com> Co-authored-by: Gary Rong <garyrong0905@gmail.com>
…m#32179) Hoodi network flag should be exclusive to other network flags for both blysnc standalone and integrated mode.
…32136) This PR updates the outdated documentation URL from docs.gnosis.io to the new official docs.safe.global domain. The change reflects the rebranding from Gnosis Safe to Safe and ensures that users are directed to the current API documentation for transaction service reference.
…ding (ethereum#31948) This adds the SSZ types from the [EIP-7928](https://eips.ethereum.org/EIPS/eip-7928) and also adds encoder/decoder generation using https://github.com/ferranbt/fastssz. The fastssz dependency is updated because the generation will not work properly with the master branch version due to a bug in fastssz. --------- Co-authored-by: Gary Rong <garyrong0905@gmail.com>
This pull request fixes an issue in disabling direct-ancient mode in snap sync. Specifically, if `origin >= frozen && origin != 0`, it implies a part of chain data has been written into the key-value store, all the following writes into ancient store scheduled by downloader will be rejected with error `ERROR[07-10|03:46:57.924] Error importing chain data to ancients err="can't add block 1166 hash: the append operation is out-order: have 1166 want 0"`. This issue is detected by the https://github.com/ethpandaops/kurtosis-sync-test, which initiates the first snap sync cycle without the finalized header and implicitly disables the direct-ancient mode. A few seconds later the second snap sync cycle is initiated with the finalized information and direct-ancient mode is enabled incorrectly.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a resubmit of ethereum#31820 against the
masterbranch.