forked from bnb-chain/bsc
-
Notifications
You must be signed in to change notification settings - Fork 0
Merge geth v 1 16 3 #14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
allformless
wants to merge
181
commits into
merge-v1-16-7
Choose a base branch
from
merge-geth-v-1-16-3
base: merge-v1-16-7
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
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
Small update for logs when syncing with blsync. Downgrades the "latest filled block is not available" to warn. Co-authored-by: shantichanal <158101918+shantichanal@users.noreply.github.com>
This PR changes the trace test to block level, aiming for better execution performance. --------- Co-authored-by: zsfelfoldi <zsfelfoldi@gmail.com>
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 #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 #27540, #30043 --------- Co-authored-by: Ulaş Erdoğan <uerdogan2001@hotmail.com>
…149) This pull request modifies the behavior of `--synctarget` to terminate the node only when `--exitWhenSynced` is explicitly specified.
…#32166) alternate approach to ethereum/go-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>
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>
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>
Hoodi network flag should be exclusive to other network flags for both blysnc standalone and integrated mode.
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 (#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.
Change `NewTransitionTree` to the correct `NewTransitionTrie`. Signed-off-by: pxwanglu <pxwanglu@icloud.com>
Full disclosure: this has been generated by AI. The goal is to have a quick check that the PR format is correct, before we merge it. This is to avoid the periodical case when someone forgets to add a milestone or check the title matches our preferred format.
Replaces a helper method with slices.Clone
Fixes the history serve window parameter for the test function `getContractStoredBlockHash`. Fixes #32458.
The TestTraceChain function was missing a defer backend.teardown() call, which is required to properly release blockchain resources after test completion. --------- Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
The corresponding function was removed in #27178
This is a internal refactoring PR, renaming the history to stateHistory. It's a pre-requisite PR for merging trienode history, avoid the name conflict.
The function name in the comment should be `writeErrors` instead of `writeQueries`. Signed-off-by: tzchenxixi <tzchenxixi@icloud.com>
Uncle rewards were being omitted in the supply tracer due to a bug. This PR fixes that. --------- Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
This pull request refactors the internal implementation in path database a bit, specifically: - purge the state index data in batch - simplify the logic of state history construction and index, make it more readable
closes #32240 #32232 The main cause for the time out is the slow json encoding of large data. In #32240 they tried to resolve the issue by reducing the size of the test. However as Felix pointed out, the test is still kind of confusing. I've refactored the test so it is more understandable and have reduced the amount of data needed to be json encoded. I think it is still important to ensure that the default read limit is not active, so I have retained one large (~32 MB) test case, but it's at least smaller than the existing ~64 MB test case.
…499) Replace hardcoded 5-second sleep with polling loop that actively checks snap sync state. This approach is already used in other project tests (like account_cache_test.go) and provides better reliability by: - Reducing flaky behavior on slower systems - Finishing early when sync completes quickly - Using 1-second timeout with 100ms polling intervals --------- Co-authored-by: lightclient <lightclient@protonmail.com>
Fix and close ethereum/go-ethereum#31719. --------- Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
…pics (#32503) When the log has empty or nil topics, the generated bindings code will panic when accessing `log.Topics[0]`, add a check to avoid it.
…#32347) This pull request implements #32235 , constructing blob sidecar in new format (cell proof) if the Osaka has been activated. Apart from that, it introduces a pre-conversion step in the blob pool before adding the txs. This mechanism is essential for handling the remote **legacy** blob txs from the network. One thing is still missing and probably is worthy being highlighted here: the blobpool may contain several legacy blob txs before the Osaka and these txs should be converted once Osaka is activated. While the `GetBlob` API in blobpool is capable for generating cell proofs at the runtime, converting legacy txs at one time is much cheaper overall. --------- Co-authored-by: MariusVanDerWijden <m.vanderwijden@live.de> Co-authored-by: lightclient <lightclient@protonmail.com>
Fixes a prestateTracer test case covering 7702 delegation. --------- Co-authored-by: Jared Wasinger <j-wasinger@hotmail.com> Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
fix problematic function name in comment Signed-off-by: slicesequal <slicesequal@outlook.com>
When maxPeers was just above some perfect square, and a few peers dropped for some reason, we changed the peer selection function. When new peers were acquired, we changed again. This PR improves the selection function, in two ways. First, it will always select sqrt(peers) to broadcast to. Second, the selection now uses siphash with a secret key, to guard against information leaks about tx source. --------- Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com> Co-authored-by: Felix Lange <fjl@twurst.com>
Add better error context for EIP-6110, EIP-7002, and EIP-7251 processing in state processor to improve debugging capabilities.
Fix problematic function name in comment. Do my best to correct them all with a script to avoid spamming PRs.
This pull request preserves the root->ID mappings in the path database even after the associated state histories are truncated, regardless of whether the truncation occurs at the head or the tail. The motivation is to support an additional history type, trienode history. Since the root->ID mappings are shared between two history instances, they must not be removed by either one. As a consequence, the root->ID mappings remain in the database even after the corresponding histories are pruned. While these mappings may become dangling, it is safe and cheap to keep them. Additionally, this pull request enhances validation during historical reader construction, ensuring that only canonical historical state will be served.
`db inspect` on the full database currently takes **30min+**, because the db iterate was run in one thread, propose to split the key-space to 256 sub range, and assign them to the worker pool to speed up. After the change, the time of running `db inspect --workers 16` reduced to **10min**(the keyspace is not evenly distributed). --------- Signed-off-by: jsvisa <delweng@gmail.com> Co-authored-by: Gary Rong <garyrong0905@gmail.com>
### Summary Fixes long-standing ETA calculation errors in progress indicators that have been present since February 2021. The current implementation produces increasingly inaccurate estimates due to integer division precision loss. ### Problem https://github.com/ethereum/go-ethereum/blob/3aeccadd04aee2d18bdb77826f86b1ca000d3b67/triedb/pathdb/history_indexer.go#L541-L553 The ETA calculation has two critical issues: 1. **Integer division precision loss**: `speed` is calculated as `uint64` 2. **Off-by-one**: `speed` uses `+ 1`(2 times) to avoid division by zero, however it makes mistake in the final calculation This results in wildly inaccurate time estimates that don't improve as progress continues. ### Example Current output during state history indexing: ``` lvl=info msg="Indexing state history" processed=16858580 left=41802252 elapsed=18h22m59.848s eta=11h36m42.252s ``` **Expected calculation:** - Speed: 16858580 ÷ 66179848ms = 0.255 blocks/ms - ETA: 41802252 ÷ 0.255 = ~45.6 hours **Current buggy calculation:** - Speed: rounds to 1 block/ms - ETA: 41802252 ÷ 1 = ~11.6 hours ❌ ### Solution - Created centralized `CalculateETA()` function in common package - Replaced all 8 duplicate code copies across the codebase ### Testing Verified accurate ETA calculations during archive node reindexing with significantly improved time estimates.
Filtering for leaf nodes was missing from #32388, which means that even the root done was reported, which made little sense for the bloatnet data processing we want to do.
Implement the binary tree as specified in [eip-7864](https://eips.ethereum.org/EIPS/eip-7864). This will gradually replace verkle trees in the codebase. This is only running the tests and will not be executed in production, but will help me rebase some of my work, so that it doesn't bitrot as much. --------- Signed-off-by: Guillaume Ballet Co-authored-by: Parithosh Jayanthi <parithosh.jayanthi@ethereum.org> Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
~Will probably be mostly supplanted by #32224, but this should do for now for devnet 3.~ Seems like #32224 is going to take some more time, so I have completed the implementation of eth_config here. It is quite a bit simpler to implement now that the config hashing was removed. --------- Co-authored-by: MariusVanDerWijden <m.vanderwijden@live.de> Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com> Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
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.
Description
ethereum/go-ethereum@v1.16.1...v1.16.3
Rationale
tell us why we need these changes...
Example
add an example CLI or API response...
Changes
Notable changes: