-
Notifications
You must be signed in to change notification settings - Fork 1
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
[ethereum/go-ethereum] #1
base: master
Are you sure you want to change the base?
Commits on Aug 12, 2024
-
p2p/simulations: remove packages (#30250)
Looking at the history of these packages over the past several years, there haven't been any meaningful contributions or usages: https://github.com/ethereum/go-ethereum/commits/master/p2p/simulations?before=de6d5976794a9ed3b626d4eba57bf7f0806fb970+35 Almost all of the commits are part of larger refactors or low-hanging-fruit contributions. Seems like it's not providing much value and taking up team + contributor time.
Configuration menu - View commit details
-
Copy full SHA for 33a13b6 - Browse repository at this point
Copy the full SHA 33a13b6View commit details -
eth/protocols/snap: cleanup dangling account trie nodes due to incomp…
…lete storage (#30258) This pull request fixes #30229. During snap sync, large storage will be split into several pieces and synchronized concurrently. Unfortunately, the tradeoff is that the respective merkle trie of each storage chunk will be incomplete due to the incomplete boundaries. The trie nodes on these boundaries will be discarded, and any dangling nodes on disk will also be removed if they fall on these paths, ensuring the state healer won't be blocked. However, the dangling account trie nodes on the path from the root to the associated account are left untouched. This means the dangling account trie nodes could potentially stop the state healing and break the assumption that the entire subtrie should exist if the subtrie root exists. We should consider the account trie node as the ancestor of the corresponding storage trie node. In the scenarios described in the above ticket, the state corruption could occur if there is a dangling account trie node while some storage trie nodes are removed due to synchronization redo. The fixing idea is pretty straightforward, the trie nodes on the path from root to account should all be explicitly removed if an incomplete storage trie occurs. Therefore, a `delete` operation has been added into `gentrie` to explicitly clear the account along with all nodes on this path. The special thing is that it's a cross-trie clearing. In theory, there may be a dangling node at any position on this account key and we have to clear all of them.
Configuration menu - View commit details
-
Copy full SHA for 5adf4ad - Browse repository at this point
Copy the full SHA 5adf4adView commit details -
Configuration menu - View commit details
-
Copy full SHA for 880511d - Browse repository at this point
Copy the full SHA 880511dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1cf3b5d - Browse repository at this point
Copy the full SHA 1cf3b5dView commit details -
Configuration menu - View commit details
-
Copy full SHA for ab03c57 - Browse repository at this point
Copy the full SHA ab03c57View commit details -
Configuration menu - View commit details
-
Copy full SHA for bc95452 - Browse repository at this point
Copy the full SHA bc95452View commit details
Commits on Aug 13, 2024
-
core/txpool/blobpool: fix error message (#30247)
the validation process only checks for 'less than', which is inconsistent with the error output
Configuration menu - View commit details
-
Copy full SHA for bd57f35 - Browse repository at this point
Copy the full SHA bd57f35View commit details
Commits on Aug 14, 2024
-
go.mod: upgrade to pebble v1.1.2 (#30297)
Includes a fix for MIPS32 support. Pebble release: https://github.com/cockroachdb/pebble/releases/tag/v1.1.2 Key fix for mips32: cockroachdb/pebble@9f3904a (also the only change from v1.1.1.
Configuration menu - View commit details
-
Copy full SHA for 2b9d198 - Browse repository at this point
Copy the full SHA 2b9d198View commit details
Commits on Aug 15, 2024
-
core: only compute state root once (#30299)
This PR refactors the genesis initialization a bit, s.th. we only compute the blockhash once instead of twice as before (during hashAlloc and flushAlloc) This will significantly reduce the amount of memory allocated during genesis init --------- Co-authored-by: Gary Rong <garyrong0905@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for c686485 - Browse repository at this point
Copy the full SHA c686485View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2f2e5b0 - Browse repository at this point
Copy the full SHA 2f2e5b0View commit details -
eth/fetcher: always expect transaction metadata in announcement (#30288)
This pull request drops the legacy transaction retrieval support from before eth68, adding the restrictions that transaction metadata must be provided along with the transaction announment.
Configuration menu - View commit details
-
Copy full SHA for c4b01d8 - Browse repository at this point
Copy the full SHA c4b01d8View commit details -
Configuration menu - View commit details
-
Copy full SHA for c356847 - Browse repository at this point
Copy the full SHA c356847View commit details -
eth/tracers/js: add coinbase addr to ctx (#30231)
Add coinbase address to javascript tracer context. This PR adds the `coinbase` address to `jsTracer.ctx`, allowing access to the coinbase address (fee receipient) in custom JavaScript tracers. Example usage: ```javascript result: function(ctx) { return toAddress(ctx.coinbase); } ``` This change enables custom tracers to access coinbase address, previously unavailable, enhancing their capabilities to match built-in tracers.
Configuration menu - View commit details
-
Copy full SHA for 7a149a1 - Browse repository at this point
Copy the full SHA 7a149a1View commit details -
eth: dial nodes from discv5 (#30302)
Here I am adding a discv5 nodes source into the p2p dial iterator. It's an improved version of #29533. Unlike discv4, the discv5 random nodes iterator will always provide full ENRs. This means we can apply filtering to the results and will only try dialing nodes which explictly opt into the eth protocol with a matching chain. I have also removed the dial iterator from snap. We don't have an official DNS list for snap anymore, and I doubt anyone else is running one. While we could potentially filter for snap on discv5, there will be very few nodes announcing it, and the extra iterator would just stall the dialer. --------- Co-authored-by: lightclient <lightclient@protonmail.com>
Configuration menu - View commit details
-
Copy full SHA for 6eb42a6 - Browse repository at this point
Copy the full SHA 6eb42a6View commit details
Commits on Aug 16, 2024
-
beacon/light: handle endpoint URL more gracefully (#30306)
blsync was failing if the light endpoint it was provided ended with a `/`. This change should handle the joining more gracefully.
Configuration menu - View commit details
-
Copy full SHA for 43640f1 - Browse repository at this point
Copy the full SHA 43640f1View commit details -
core: remove withdrawal length check for state processor (#30286)
The withdrawal length is already verified by the beacon consensus package, so the check in the state processor is a duplicate.
Configuration menu - View commit details
-
Copy full SHA for 09d889d - Browse repository at this point
Copy the full SHA 09d889dView commit details -
vm: simplify error handling in
vm.EVM.create()
(#30292)To allow all error paths in `vm.EVM.create()` to consume the necessary gas, there is currently a pattern of gating code on `if err == nil` instead of returning as soon as the error occurs. The same behaviour can be achieved by abstracting the gated code into a method that returns immediately on error, improving readability and thus making it easier to understand and maintain.
Configuration menu - View commit details
-
Copy full SHA for 710c3f3 - Browse repository at this point
Copy the full SHA 710c3f3View commit details
Commits on Aug 19, 2024
-
internal/build: include git-date on detached head (#30320)
When we are building in detached head, we cannot easily obtain the same information as we can if we're in non-detached head. However, one thing we _can_ obtain is the git-hash and git-date. Currently, we omit to include the git-date into the build-info, which causes problem for reproducable builds which are on a detached head. This change fixes it to include the date-info always.
Configuration menu - View commit details
-
Copy full SHA for 60db6a7 - Browse repository at this point
Copy the full SHA 60db6a7View commit details -
build: remove mantic from ppa builds (#30322)
removes ppa-build for ubuntu `mantic`
Configuration menu - View commit details
-
Copy full SHA for 8486722 - Browse repository at this point
Copy the full SHA 8486722View commit details -
gitignore: ignore upload-artefacts (#30325)
Our `WriteArchive`, used by ci builder, creates files in the repo root,in order to upload. After we've built the amd64-builds, we create the uploads, and cause the repo to be flagged as dirty for the remaining builds. This change fixes it by adding the artefacts to gitignore. Closes #30324
Configuration menu - View commit details
-
Copy full SHA for 41b3b30 - Browse repository at this point
Copy the full SHA 41b3b30View commit details -
eth/catalyst: ensure period zero mode leaves no pending txs in pool (#…
…30264) closes #29475, replaces #29657, #30104 Fixes two issues. First is a deadlock where the txpool attempts to reorg, but can't complete because there are no readers left for the new txs subscription. Second, resolves a problem with on demand mode where txs may be left pending when there are more pending txs than block space. Co-authored-by: Martin Holst Swende <martin@swende.se>
Configuration menu - View commit details
-
Copy full SHA for 84565dc - Browse repository at this point
Copy the full SHA 84565dcView commit details
Commits on Aug 20, 2024
-
accounts/abi: handle ABIs with contract type parameter (#30315)
convert parameter of type contract to the basic `address` type --------- Co-authored-by: Martin HS <martin@swende.se>
Configuration menu - View commit details
-
Copy full SHA for 65aaf52 - Browse repository at this point
Copy the full SHA 65aaf52View commit details -
core/rawdb: drop MigrateTable (#30331)
These are the leftovers from #24028.
Configuration menu - View commit details
-
Copy full SHA for 3b48b16 - Browse repository at this point
Copy the full SHA 3b48b16View commit details -
core/vm: reuse Memory instances (#30137)
This PR adds a sync.Pool to reuse instances of Memory in EVMInterpreter.
Configuration menu - View commit details
-
Copy full SHA for fc88cea - Browse repository at this point
Copy the full SHA fc88ceaView commit details -
build: attempt at reproducible builds (#30321)
This PR implements the conclusions from #28987 (comment), that is: Building with `--strip-all` as a ld-flag to the cgo linker, to remove symbols. Without that, some spurious reference to a temporary file is included into the kzg-related library. Building with `--build-id=none`, to avoid putting a `build id` into the file.
Configuration menu - View commit details
-
Copy full SHA for 693e40a - Browse repository at this point
Copy the full SHA 693e40aView commit details -
all: update to go version 1.23.0 (#30323)
This PR updates the version of go used in builds and docker to 1.23.0. Release notes: https://go.dev/doc/go1.23 More importantly, following our policy of maintaining the last two versions (which now becomes 1.23 and 1.22), we can now make use of the things that were introduced in 1.22: https://go.dev/doc/go1.22 Go 1.22 makes two changes to “for” loops. - each iteration creates new variables, - for loops may range over integers Other than that, some interesting library changes and other stuff.
Configuration menu - View commit details
-
Copy full SHA for d0fd133 - Browse repository at this point
Copy the full SHA d0fd133View commit details -
rpc: add timeout to rpc client Unsubscribe (#30318)
Fixes #30156 This adds a repro of the linked issue. I fixed it by adding a timeout when issuing the call to unsubscribe.
Configuration menu - View commit details
-
Copy full SHA for 15fb0dc - Browse repository at this point
Copy the full SHA 15fb0dcView commit details -
cmd/devp2p: require dns:read, dns:edit permissions for cloudflare dep…
…loy (#30326) This PR adds the `dns:read` and `dns:edit` permissions to the required set of permissions checked before deploying an ENR tree to Cloudflare. These permissions are necessary for a successful publish. **Background**: The current logic for `devp2p dns to-cloudflare` checks for `zone:edit` and `zone:read` permissions. However, when running the command with only these two permissions, the following error occurs: ``` wrong permissions on zone REMOVED-ZONE: map[#zone:edit:false #zone:read:true] ``` Adding `zone:read` and `zone:edit` to the API token led to a different error: ``` INFO [08-19|14:06:16.782] Retrieving existing TXT records on pos-nodes.hardfork.dev Authentication error (10000) ``` This suggested that additional permissions were required. I added `dns:read`, but encountered another error: ``` INFO [08-19|14:11:42.342] Retrieving existing TXT records on pos-nodes.hardfork.dev INFO [08-19|14:11:42.851] Updating DNS entries failed to publish REMOVED.pos-nodes.hardfork.dev: Authentication error (10000) ``` Finally, after adding both `dns:read` and `dns:edit` permissions, the command executed successfully with the following output: ``` INFO [08-19|14:13:07.677] Checking Permissions on zone REMOVED-ZONE INFO [08-19|14:13:08.014] Retrieving existing TXT records on pos-nodes.hardfork.dev INFO [08-19|14:13:08.440] Updating DNS entries INFO [08-19|14:13:08.440] "Updating pos-nodes.hardfork.dev from \"enrtree-root:v1 e=FSED3EDKEKRDDFMCLP746QY6CY l=FDXN3SN67NA5DKA4J2GOK7BVQI seq=1 sig=Glja2c9RviRqOpaaHR0MnHsQwU76nJXadJwFeiXpp8MRTVIhvL0LIireT0yE3ETZArGEmY5Ywz3FVHZ3LR5JTAE\" to \"enrtree-root:v1 e=AB66M4ULYD5OYN4XFFCPVZRLUM l=FDXN3SN67NA5DKA4J2GOK7BVQI seq=1 sig=H8cqDzu0FAzBplK4g3yudhSaNtszIebc2aj4oDm5a5ZE5PAg-xpCnQgVE_53CsgsqQpalD9byafx_FrUT61sagA\"" INFO [08-19|14:13:16.932] Updated DNS entries new=32 updated=1 untouched=100 INFO [08-19|14:13:16.932] Deleting stale DNS entries INFO [08-19|14:13:24.663] Deleted stale DNS entries count=31 ``` With this PR, the required permissions for deploying an ENR tree to Cloudflare now include `zone:read`, `zone:edit`, `dns:read`, and `dns:edit`. The initial check now includes all of the necessary permissions and indicates in the error message which permissions are missing: ``` INFO [08-19|14:17:20.339] Checking Permissions on zone REMOVED-ZONE wrong permissions on zone REMOVED-ZONE: map[#dns_records:edit:false #dns_records:read:false #zone:edit:false #zone:read:true] ```
Configuration menu - View commit details
-
Copy full SHA for 0fde506 - Browse repository at this point
Copy the full SHA 0fde506View commit details -
all: clean up goerli flag and config (#30289)
Co-authored-by: lightclient <lightclient@protonmail.com>
Configuration menu - View commit details
-
Copy full SHA for 3c37db7 - Browse repository at this point
Copy the full SHA 3c37db7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 00294e9 - Browse repository at this point
Copy the full SHA 00294e9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2a534ee - Browse repository at this point
Copy the full SHA 2a534eeView commit details
Commits on Aug 21, 2024
-
trie: use go-verkle helper for speedier (*VerkleTrie).RollBackAccount (…
…#30242) This is a performance improvement on the account-creation rollback code required for the archive node to support verkle. It uses the utility function `DeleteAtStem` to remove code and account data per-group instead of doing it leaf by leaf. It also fixes an index bug, as code is chunked in 31-byte chunks, so comparing with the code size should use 31 as its stride. --------- Co-authored-by: Felix Lange <fjl@twurst.com>
Configuration menu - View commit details
-
Copy full SHA for df645e7 - Browse repository at this point
Copy the full SHA df645e7View commit details -
eth/protocols/eth: handle zero-count header requests (#30305)
Proper fix for handling `count=0` get header requests. https://en.wikipedia.org/wiki/Count_Zero
Configuration menu - View commit details
-
Copy full SHA for 733fcbb - Browse repository at this point
Copy the full SHA 733fcbbView commit details -
eth/tracers: avoid panic in state test runner (#30332)
Make tracers more robust by handling `nil` receipt as input. Also pass in a receipt with gas used in the state test runner. Closes #30117. --------- Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 30824fa - Browse repository at this point
Copy the full SHA 30824faView commit details
Commits on Aug 22, 2024
-
build: fix hash for go1.23.0.linux-riscv64.tar.gz (#30335)
build: fix hash for go1.23.0.linux-riscv64.tar.gz
Configuration menu - View commit details
-
Copy full SHA for 941ae33 - Browse repository at this point
Copy the full SHA 941ae33View commit details
Commits on Aug 23, 2024
-
build: make go buildid static (#30342)
The previous clearing of buildid did fully work, turns out we need to set it in `ldflags` The go buildid is the only remaining hurdle for reproducible builds, see #28987 (comment) This PR changes the go build id application note to say literally `none` golang/go#33772 (comment): > This difference is due to the .note.go.buildid section added by the linker. It can be set to something static e.g. -ldflags=-buildid= (empty string) to gain reproducibility.
Configuration menu - View commit details
-
Copy full SHA for ada20c0 - Browse repository at this point
Copy the full SHA ada20c0View commit details -
trie: avoid un-needed map copy (#30343)
This change avoids the an unnecessary map copy if the preimage recording is not enabled.
Configuration menu - View commit details
-
Copy full SHA for 020f026 - Browse repository at this point
Copy the full SHA 020f026View commit details -
beacon/blsync: better error information in test (#30336)
this change reports the error instead of ignoring it
Configuration menu - View commit details
-
Copy full SHA for c12a1c9 - Browse repository at this point
Copy the full SHA c12a1c9View commit details -
beacon/light/sync: basic tests for rangeLock (#30269)
adds simple tests for lock and firstUnlocked method from rangeLock type --------- Co-authored-by: lightclient <lightclient@protonmail.com>
Configuration menu - View commit details
-
Copy full SHA for eaf4285 - Browse repository at this point
Copy the full SHA eaf4285View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0378dc8 - Browse repository at this point
Copy the full SHA 0378dc8View commit details -
gitignore: ignore build signatures (#30346)
Ignore files are generated during signing of download-binaries, which 'dirty' the vcs for subsequent builds.
Configuration menu - View commit details
-
Copy full SHA for 1d006bd - Browse repository at this point
Copy the full SHA 1d006bdView commit details
Commits on Aug 26, 2024
-
doc: update 2021-08-22-split-postmortem (#30351)
Update 2021-08-22-split-postmortem
Configuration menu - View commit details
-
Copy full SHA for 4e17f28 - Browse repository at this point
Copy the full SHA 4e17f28View commit details -
core: implement EIP-2935 (#29465)
https://eips.ethereum.org/EIPS/eip-2935 --------- Co-authored-by: Guillaume Ballet <gballet@gmail.com> Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com> Co-authored-by: Martin HS <martin@swende.se>
Configuration menu - View commit details
-
Copy full SHA for a223efc - Browse repository at this point
Copy the full SHA a223efcView commit details -
core: add metrics for state access (#30353)
This pull request adds a few more performance metrics, specifically: - The average time cost of an account read - The average time cost of a storage read - The rate of account reads - The rate of storage reads
Configuration menu - View commit details
-
Copy full SHA for bfda8ae - Browse repository at this point
Copy the full SHA bfda8aeView commit details -
core/state: fix trie prefetcher for verkle (#30354)
This pull request fixes the panic issue in prefetcher once the verkle is activated.
Configuration menu - View commit details
-
Copy full SHA for 9b5d141 - Browse repository at this point
Copy the full SHA 9b5d141View commit details
Commits on Aug 27, 2024
-
p2p/discover: fix Write method in metered connection (#30355)
`WriteToUDP` was never called, since `meteredUdpConn` exposed directly all the methods from the underlying `UDPConn` interface. This fixes the `discover/egress` metric never being updated.
Configuration menu - View commit details
-
Copy full SHA for 87377c5 - Browse repository at this point
Copy the full SHA 87377c5View commit details -
accounts/abi/bind, ethclient/simulated: check SendTransaction error i…
…n tests (#30349) In few tests the returned error from `SendTransaction` is not being checked. This PR checks the returned err in tests. Returning errors also revealed tx in `TestCommitReturnValue` is not actually being sent, and returns err ` only replay-protected (EIP-155) transactions allowed over RPC`. Fixed the transaction by using the `testTx` function.
Configuration menu - View commit details
-
Copy full SHA for 9eb9154 - Browse repository at this point
Copy the full SHA 9eb9154View commit details
Commits on Aug 28, 2024
-
core/state: semantic journalling (part 1) (#28880)
This is a follow-up to #29520, and a preparatory PR to a more thorough change in the journalling system. ### API methods instead of `append` operations This PR hides the journal-implementation details away, so that the statedb invokes methods like `JournalCreate`, instead of explicitly appending journal-events in a list. This means that it's up to the journal whether to implement it as a sequence of events or aggregate/merge events. ### Snapshot-management inside the journal This PR also makes it so that management of valid snapshots is moved inside the journal, exposed via the methods `Snapshot() int` and `RevertToSnapshot(revid int, s *StateDB)`. ### SetCode JournalSetCode journals the setting of code: it is implicit that the previous values were "no code" and emptyCodeHash. Therefore, we can simplify the setCode journal. ### Selfdestruct The self-destruct journalling is a bit strange: we allow the selfdestruct operation to be journalled several times. This makes it so that we also are forced to store whether the account was already destructed. What we can do instead, is to only journal the first destruction, and after that only journal balance-changes, but not journal the selfdestruct itself. This simplifies the journalling, so that internals about state management does not leak into the journal-API. ### Preimages Preimages were, for some reason, integrated into the journal management, despite not being a consensus-critical data structure. This PR undoes that. --------- Co-authored-by: Gary Rong <garyrong0905@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 0e5546f - Browse repository at this point
Copy the full SHA 0e5546fView commit details -
signer/core/apitypes: support fixed size arrays for EIP-712 typed data (
#30175) When attempting to hash a typed data struct that includes a type reference with a fixed-size array, the validation process fails. According to EIP-712, arrays can be either fixed-size or dynamic, denoted by `Type[n]` or `Type[]` respectively, although it appears this currently isn't supported. This change modifies the validation logic to accommodate types containing fixed-size arrays.
Configuration menu - View commit details
-
Copy full SHA for ea3b509 - Browse repository at this point
Copy the full SHA ea3b509View commit details
Commits on Aug 29, 2024
-
consensus/beacon, core/types: add verkle witness builder (#30129)
This PR adds the bulk verkle witness+proof production at the end of block production. It reads all data from the tree in one swoop and produces a verkle proof. Co-authored-by: Felix Lange <fjl@twurst.com>
Configuration menu - View commit details
-
Copy full SHA for e9467ee - Browse repository at this point
Copy the full SHA e9467eeView commit details
Commits on Aug 30, 2024
-
trie, core/state: Nyota EIP-6800 & EIP-4762 spec updates (#30357)
This PR implements changes related to [EIP-6800](https://eips.ethereum.org/EIPS/eip-6800) and [EIP-4762](https://eips.ethereum.org/EIPS/eip-4762) spec updates. A TL;DR of the changes is that `Version`, `Balance`, `Nonce` and `CodeSize` are encoded in a single leaf named `BasicData`. For more details, see the [_Header Values_ table in EIP-6800](https://eips.ethereum.org/EIPS/eip-6800#header-values). The motivation for this was simplifying access event patterns, reducing code complexity, and, as a side effect, saving gas since fewer leaf nodes must be accessed. --------- Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com> Co-authored-by: Felix Lange <fjl@twurst.com>
Configuration menu - View commit details
-
Copy full SHA for ab3ee99 - Browse repository at this point
Copy the full SHA ab3ee99View commit details
Commits on Sep 2, 2024
-
Include tracerConfig in created tracing test (#30364)
Fixes the tracer test filler for when there is tracerConfig.
Configuration menu - View commit details
-
Copy full SHA for 36a7134 - Browse repository at this point
Copy the full SHA 36a7134View commit details -
core/state: pull the verkle trie from prefetcher for empty storage ro…
…ot (#30369) This pull request fixes a flaw in prefetcher. In verkle tree world, both accounts and storage slots are committed into a single tree instance for state hashing. If the prefetcher is activated, we will try to pull the trie for the prefetcher for performance speedup. However, we had a special logic to skip pulling storage trie if the storage root is empty. While it's true for merkle as we have nothing to do with an empty storage trie, it's totally wrong for verkle. The consequences for skipping pulling is the storage changes are committed into trie A, while the account changes are committed into trie B (pulled from the prefetcher), boom.
Configuration menu - View commit details
-
Copy full SHA for 922eb03 - Browse repository at this point
Copy the full SHA 922eb03View commit details
Commits on Sep 3, 2024
-
funding.json: add funding information file (#30385)
Adds a list of funding identifiers.
Configuration menu - View commit details
-
Copy full SHA for de597af - Browse repository at this point
Copy the full SHA de597afView commit details
Commits on Sep 4, 2024
-
all: implement EIP-6110, execution layer triggered deposits (#29431)
This PR implements EIP-6110: Supply validator deposits on chain. It also sketches out the base for Prague in the engine API types.
Configuration menu - View commit details
-
Copy full SHA for dfd33c7 - Browse repository at this point
Copy the full SHA dfd33c7View commit details -
all: remove forkchoicer and reorgNeeded (#29179)
This PR changes how sidechains are handled. Before the merge, it was possible to import a chain with lower td and not set it as canonical. After the merge, we expect every chain that we get via InsertChain to be canonical. Non-canonical blocks can still be inserted with InsertBlockWIthoutSetHead. If during the InsertChain, the existing chain is not canonical anymore, we mark it as a sidechain and send the SideChainEvents normally.
Configuration menu - View commit details
-
Copy full SHA for b0b67be - Browse repository at this point
Copy the full SHA b0b67beView commit details -
core: fix compilation error (#30394)
un-borks a compilation error from a recent merge to master
Configuration menu - View commit details
-
Copy full SHA for fdb8499 - Browse repository at this point
Copy the full SHA fdb8499View commit details -
all: remove funding verifier (#30391)
Now that verification is done, we can remove the funding information.
Configuration menu - View commit details
-
Copy full SHA for 7ef49e3 - Browse repository at this point
Copy the full SHA 7ef49e3View commit details -
node: fix flaky jwt-test (#30388)
This PR fixes a flaky jwt-test. The test is a jwt "from one second in the future". The test passes; the reason for this is that the CI-system is slow, and by the time the jwt is actually evaluated, that second has passed, and it's no longer future. Alternative to #30380
Configuration menu - View commit details
-
Copy full SHA for c3f13b2 - Browse repository at this point
Copy the full SHA c3f13b2View commit details
Commits on Sep 5, 2024
-
build: increase go test timeout (#30398)
This increases the timeout for the go tests on ci, this should prevent travis from erroring. see: https://app.travis-ci.com/github/ethereum/go-ethereum/jobs/625803693
Configuration menu - View commit details
-
Copy full SHA for 23973bd - Browse repository at this point
Copy the full SHA 23973bdView commit details -
core/state: state reader abstraction (#29761)
This pull request introduces a state.Reader interface for state accessing. The interface could be implemented in various ways. It can be pure trie only reader, or the combination of trie and state snapshot. What's more, this interface allows us to have more flexibility in the future, e.g. the archive reader (for accessing archive state). Additionally, this pull request removes the following metrics - `chain/snapshot/account/reads` - `chain/snapshot/storage/reads`
Configuration menu - View commit details
-
Copy full SHA for 623b17b - Browse repository at this point
Copy the full SHA 623b17bView commit details
Commits on Sep 6, 2024
-
core/state: get rid of field pointer in journal (#30361)
This pull request replaces the field pointer in journal entry with the field itself, specifically the address of mutated account. While it will introduce the extra allocation cost, but it's easier for code reading. Let's measure the overhead overall to see if the change is acceptable or not.
Configuration menu - View commit details
-
Copy full SHA for 5035f99 - Browse repository at this point
Copy the full SHA 5035f99View commit details -
build: upgrade -dlgo version to Go 1.23.1 (#30404)
New security fix: https://groups.google.com/g/golang-announce/c/K-cEzDeCtpc
Configuration menu - View commit details
-
Copy full SHA for 83775b1 - Browse repository at this point
Copy the full SHA 83775b1View commit details -
internal/ethapi: eth_multicall (#27720)
This is a successor PR to #25743. This PR is based on a new iteration of the spec: ethereum/execution-apis#484. `eth_multicall` takes in a list of blocks, each optionally overriding fields like number, timestamp, etc. of a base block. Each block can include calls. At each block users can override the state. There are extra features, such as: - Include ether transfers as part of the logs - Overriding precompile codes with evm bytecode - Redirecting accounts to another address ## Breaking changes This PR includes the following breaking changes: - Block override fields of eth_call and debug_traceCall have had the following fields renamed - `coinbase` -> `feeRecipient` - `random` -> `prevRandao` - `baseFee` -> `baseFeePerGas` --------- Co-authored-by: Gary Rong <garyrong0905@gmail.com> Co-authored-by: Martin Holst Swende <martin@swende.se>
Configuration menu - View commit details
-
Copy full SHA for 8f4fac7 - Browse repository at this point
Copy the full SHA 8f4fac7View commit details -
eth/fetcher: fix blob transaction propagation (#30125)
This PR fixes an issue with blob transaction propagation due to the blob transation txpool rejecting transactions with gapped nonces. The specific changes are: - fetch transactions from a peer in the order they were announced to minimize nonce-gaps (which cause blob txs to be rejected - don't wait on fetching blob transactions after announcement is received, since they are not broadcast Testing: - unit tests updated to reflect that fetch order should always match tx announcement order - unit test added to confirm blob transactions are scheduled immediately for fetching - running the PR on an eth mainnet full node without incident so far --------- Signed-off-by: Roberto Bayardo <bayardo@alum.mit.edu> Co-authored-by: Gary Rong <garyrong0905@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 88c8459 - Browse repository at this point
Copy the full SHA 88c8459View commit details -
core/state/snapshot: port changes from 29995 (#30040)
#29995 has been reverted due to an unexpected flaw in the state snapshot process. Specifically, it attempts to stop the state snapshot generation, which could potentially cause the system to halt if the generation is not currently running. This pull request ports the changes made in #29995 and fixes the flaw.
Configuration menu - View commit details
-
Copy full SHA for d718312 - Browse repository at this point
Copy the full SHA d718312View commit details
Commits on Sep 10, 2024
-
beacon/engine/types: remove PayloadV4 (#30415)
h/t @MariusVanDerWijden for finding and fixing this on devnet 3. I made the mistake of thinking `PayloadVersion` was correlated with the `GetPayloadVX` method, but it actually tracks which version of `PayloadAttributes` were passed to `forkchoiceUpdated`. So far, Prague does not necessitate a new version of fcu, so there is no need for `PayloadV4`. Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Configuration menu - View commit details
-
Copy full SHA for c70b0a9 - Browse repository at this point
Copy the full SHA c70b0a9View commit details
Commits on Sep 11, 2024
-
core/vm: remove panic when address is not present (#30414)
Remove redundant address presence check in `makeGasSStoreFunc`. This PR simplifies the `makeGasSStoreFunc` function by removing the redundant check for address presence in the access list. The updated code now only checks for slot presence, streamlining the logic and eliminating unnecessary panic conditions. This change removes the unnecessary address presence check, simplifying the code and improving maintainability without affecting functionality. The previous panic condition was intended as a canary during the testing phases (i.e. _YOLOv2_) and is no longer needed.
Configuration menu - View commit details
-
Copy full SHA for ec69830 - Browse repository at this point
Copy the full SHA ec69830View commit details
Commits on Sep 12, 2024
-
beacon/light/api: fixed blsync update query (#30421)
This PR fixes what #30306 broke. Escaping the `?` in the event sub query was fixed in that PR but it was still escaped in the `updates` request. This PR adds a URL params argument to `httpGet` and fixes `updates` query formatting.
Configuration menu - View commit details
-
Copy full SHA for a01e974 - Browse repository at this point
Copy the full SHA a01e974View commit details
Commits on Sep 13, 2024
-
eth/filters: prevent concurrent access in test (#30401)
use a mutex to prevent concurrent access to the api.filters map during `TestPendingTxFilterDeadlock` test
Configuration menu - View commit details
-
Copy full SHA for 7c6b3f9 - Browse repository at this point
Copy the full SHA 7c6b3f9View commit details -
Configuration menu - View commit details
-
Copy full SHA for c0b5d42 - Browse repository at this point
Copy the full SHA c0b5d42View commit details -
core/state, core/vm: Nyota contract create init simplification (#30409)
Implementation of [this EIP-4762 update](ethereum/EIPs#8867). --------- Signed-off-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com> Co-authored-by: Tanishq Jasoria <jasoriatanishq@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 9be2e01 - Browse repository at this point
Copy the full SHA 9be2e01View commit details -
p2p/enode: add quic ENR entry (#30283)
Add `quic` entry to the ENR as proposed in ethereum/consensus-specs#3644 --------- Co-authored-by: lightclient <lightclient@protonmail.com>
Configuration menu - View commit details
-
Copy full SHA for f544fc3 - Browse repository at this point
Copy the full SHA f544fc3View commit details
Commits on Sep 14, 2024
-
core/tracing: fix copy/paste error+comments in reason listing (#30431)
Signed-off-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 07b5a04 - Browse repository at this point
Copy the full SHA 07b5a04View commit details -
core/txpool/blobpool: avoid possible zero index panic (#30430)
This situation(`len(txs) == 0`) rarely occurs, but if it does, it will panic. --------- Co-authored-by: Martin HS <martin@swende.se>
Configuration menu - View commit details
-
Copy full SHA for 0dd7e82 - Browse repository at this point
Copy the full SHA 0dd7e82View commit details
Commits on Sep 15, 2024
-
Configuration menu - View commit details
-
Copy full SHA for ae70744 - Browse repository at this point
Copy the full SHA ae70744View commit details
Commits on Sep 16, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 4c4f212 - Browse repository at this point
Copy the full SHA 4c4f212View commit details -
core/types: more easily extensible tx signing (#30372)
This change makes the code slightly easier for downstream-projects to extend with more signer-types, but if functionalily equivalent to the previous code.
Configuration menu - View commit details
-
Copy full SHA for 0342496 - Browse repository at this point
Copy the full SHA 0342496View commit details -
core, trie: prealloc capacity for maps (#30437)
- preallocate capacity for map - avoid `reinject` adding empty value - use `maps.Copy`
Configuration menu - View commit details
-
Copy full SHA for ec596e0 - Browse repository at this point
Copy the full SHA ec596e0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8dd2962 - Browse repository at this point
Copy the full SHA 8dd2962View commit details
Commits on Sep 17, 2024
-
core/tracing: add verkle gas change reasons to changelog (#30444)
Configuration menu - View commit details
-
Copy full SHA for 8032b63 - Browse repository at this point
Copy the full SHA 8032b63View commit details
Commits on Sep 18, 2024
-
Configuration menu - View commit details
-
Copy full SHA for d09600f - Browse repository at this point
Copy the full SHA d09600fView commit details -
Configuration menu - View commit details
-
Copy full SHA for f321dfa - Browse repository at this point
Copy the full SHA f321dfaView commit details -
Configuration menu - View commit details
-
Copy full SHA for af794ef - Browse repository at this point
Copy the full SHA af794efView commit details
Commits on Sep 19, 2024
-
genesis: fix dev mode alloc (#30460)
Balance being null causes `getGenesisState` to fail as the balance field is required in json marshaling of an account.
Configuration menu - View commit details
-
Copy full SHA for 868d53c - Browse repository at this point
Copy the full SHA 868d53cView commit details -
core: minor fix for the log wrapper with debug purpose (#30454)
After this PR, #28187, the way to set the default logger is different. This PR only updates the way to set logger in some test cases' comments that existed in the codebase (since this commit b63e3c37a6). Although I am not sure if it a good way to leave the code in the comment, it truly makes me more efficiently to debug and fix the failing test cases.
Configuration menu - View commit details
-
Copy full SHA for c4c2c4f - Browse repository at this point
Copy the full SHA c4c2c4fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7513966 - Browse repository at this point
Copy the full SHA 7513966View commit details -
Configuration menu - View commit details
-
Copy full SHA for deb5c08 - Browse repository at this point
Copy the full SHA deb5c08View commit details
Commits on Sep 20, 2024
-
Configuration menu - View commit details
-
Copy full SHA for b018da9 - Browse repository at this point
Copy the full SHA b018da9View commit details -
beacon, core, eth, miner: integrate witnesses into production Geth (#…
…30069) This PR integrates witness-enabled block production, witness-creating payload execution and stateless cross-validation into the `engine` API. The purpose of the PR is to enable the following use-cases (for API details, please see next section): - Cross validating locally created blocks: - Call `forkchoiceUpdatedWithWitness` instead of `forkchoiceUpdated` to trigger witness creation too. - Call `getPayload` as before to retrieve the new block and also the above created witness. - Call `executeStatelessPayload` against another client to cross-validate the block. - Cross validating locally processed blocks: - Call `newPayloadWithWitness` instead of `newPayload` to trigger witness creation too. - Call `executeStatelessPayload` against another client to cross-validate the block. - Block production for stateless clients (local or MEV builders): - Call `forkchoiceUpdatedWithWitness` instead of `forkchoiceUpdated` to trigger witness creation too. - Call `getPayload` as before to retrieve the new block and also the above created witness. - Propagate witnesses across the consensus libp2p network for stateless Ethereum. - Stateless validator validation: - Call `executeStatelessPayload` with the propagated witness to statelessly validate the block. *Note, the various `WithWitness` methods could also *just be* an additional boolean flag on the base methods, but this PR wanted to keep the methods separate until a final consensus is reached on how to integrate in production.* --- The following `engine` API types are introduced: ```go // StatelessPayloadStatusV1 is the result of a stateless payload execution. type StatelessPayloadStatusV1 struct { Status string `json:"status"` StateRoot common.Hash `json:"stateRoot"` ReceiptsRoot common.Hash `json:"receiptsRoot"` ValidationError *string `json:"validationError"` } ``` - Add `forkchoiceUpdatedWithWitnessV1,2,3` with same params and returns as `forkchoiceUpdatedV1,2,3`, but triggering a stateless witness building if block production is requested. - Extend `getPayloadV2,3` to return `executionPayloadEnvelope` with an additional `witness` field of type `bytes` iff created via `forkchoiceUpdatedWithWitnessV2,3`. - Add `newPayloadWithWitnessV1,2,3,4` with same params and returns as `newPayloadV1,2,3,4`, but triggering a stateless witness creation during payload execution to allow cross validating it. - Extend `payloadStatusV1` with a `witness` field of type `bytes` if returned by `newPayloadWithWitnessV1,2,3,4`. - Add `executeStatelessPayloadV1,2,3,4` with same base params as `newPayloadV1,2,3,4` and one more additional param (`witness`) of type `bytes`. The method returns `statelessPayloadStatusV1`, which mirrors `payloadStatusV1` but replaces `latestValidHash` with `stateRoot` and `receiptRoot`.
Configuration menu - View commit details
-
Copy full SHA for 9326a11 - Browse repository at this point
Copy the full SHA 9326a11View commit details
Commits on Sep 22, 2024
-
travis: work around travis/osx/go1.23 setup bug (#30491)
This is a work-around for a strange issue with travis, specifically, `os=osx, go: 1.23.1`. When this is used, the actual go that ends up being used is `go1.19.4 darwin/amd64 `. Using `which go`, it told me that the `go` in the path was a softlink at `/Users/travis/gopath/bin/go1.23.1 `. However, this was not true: using `command -v go`, it told me that the actual `go` that was used is a softlink at `/usr/local/bin/go`. This change rewrites the `/usr/local/bin/go` softlink to point to the binary at `/Users/travis/gopath/bin/go1.23.1`, so we get the right go-version.
Configuration menu - View commit details
-
Copy full SHA for f4c6c03 - Browse repository at this point
Copy the full SHA f4c6c03View commit details
Commits on Sep 23, 2024
-
cmd/utils: fix
setEtherbase
(#30488)Make `setEtherbase` fall thorugh and handle `miner.pending.feeRecipient` after showing deprecation-warning for `miner.etherbase`-flag.
Configuration menu - View commit details
-
Copy full SHA for 118c84a - Browse repository at this point
Copy the full SHA 118c84aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 956d32d - Browse repository at this point
Copy the full SHA 956d32dView commit details -
core/state: commit snapshot only if the base layer exists (#30493)
This pull request skips the state snapshot update if the base layer is not existent, eliminating the numerous warning logs after an unclean shutdown. Specifically, Geth will rewind its chain head to a historical block after unclean shutdown and state snapshot will be remained as unchanged waiting for recovery. During this period of time, the snapshot is unusable and all state updates should be ignored/skipped for state snapshot update.
Configuration menu - View commit details
-
Copy full SHA for b805772 - Browse repository at this point
Copy the full SHA b805772View commit details -
internal/ethapi/api: for simulated calls, set gaspool to max value if…
Configuration menu - View commit details
-
Copy full SHA for 564b616 - Browse repository at this point
Copy the full SHA 564b616View commit details
Commits on Sep 24, 2024
-
core/rawdb: make sure specified state scheme is valid (#30499)
This change exits with error if user provided a `--state.scheme` which is neither `hash` nor `path`
Configuration menu - View commit details
-
Copy full SHA for 2278647 - Browse repository at this point
Copy the full SHA 2278647View commit details -
Configuration menu - View commit details
-
Copy full SHA for f2e13c7 - Browse repository at this point
Copy the full SHA f2e13c7View commit details -
core/tracing, core/vm: add ContractCode to the OpContext (#30466)
Extends the opcontext interface to include accessor for code being executed in current context. While it is possible to get the code via `statedb.GetCode`, that approach doesn't work for initcode.
Configuration menu - View commit details
-
Copy full SHA for 55ed8fe - Browse repository at this point
Copy the full SHA 55ed8feView commit details -
core/vm: more benchmarks for bls g1/g2-multiexp precompiles (#30459)
This change adds more comprehensive benchmarks with a wider-variety of input sizes for g1 and g2 multi exponentiation.
Configuration menu - View commit details
-
Copy full SHA for 80b529e - Browse repository at this point
Copy the full SHA 80b529eView commit details
Commits on Sep 26, 2024
-
p2p/discover: fix flaky tests writing to test.log after completion (#…
Configuration menu - View commit details
-
Copy full SHA for b5a88da - Browse repository at this point
Copy the full SHA b5a88daView commit details -
Configuration menu - View commit details
-
Copy full SHA for 93675d1 - Browse repository at this point
Copy the full SHA 93675d1View commit details -
core/txpool, eth/catalyst: ensure gas tip retains current value upon …
…rollback (#30495) Here we move the method that drops all transactions by temporarily increasing the fee into the TxPool itself. It's better to have it there because we can set it back to the configured value afterwards. This resolves a TODO in the simulated backend.
Configuration menu - View commit details
-
Copy full SHA for bb9897f - Browse repository at this point
Copy the full SHA bb9897fView commit details
Commits on Sep 27, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 9274f28 - Browse repository at this point
Copy the full SHA 9274f28View commit details -
Configuration menu - View commit details
-
Copy full SHA for abbd3d9 - Browse repository at this point
Copy the full SHA abbd3d9View commit details -
Merge pull request #30518 from holiman/blobpool_fix
core/txpool/blobpool: return all reinject-addresses
Configuration menu - View commit details
-
Copy full SHA for 52a9d89 - Browse repository at this point
Copy the full SHA 52a9d89View commit details -
Revert "core/txpool, eth/catalyst: ensure gas tip retains current val…
…ue upon rollback" (#30521) Reverts #30495 You are free to create a proper Clear method if that's the best way. But one that does a proper cleanup, not some hacky call to set gas which screws up logs, metrics and everything along the way. Also doesn't work for legacy pool local transactions. The current code had a hack in the simulated code, now we have a hack in live txpooling code. No, that's not acceptable. I want the live code to be proper, meaningful API, meaningful comments, meaningful implementation.
Configuration menu - View commit details
-
Copy full SHA for 1df75db - Browse repository at this point
Copy the full SHA 1df75dbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2695518 - Browse repository at this point
Copy the full SHA 2695518View commit details -
Configuration menu - View commit details
-
Copy full SHA for 283be23 - Browse repository at this point
Copy the full SHA 283be23View commit details
Commits on Sep 30, 2024
-
p2p/discover: add config option for disabling FINDNODE liveness check (…
…#30512) This is for fixing Prysm integration tests.
Configuration menu - View commit details
-
Copy full SHA for 6b61b54 - Browse repository at this point
Copy the full SHA 6b61b54View commit details -
core/txpool/blobpool: use types.Sender instead of signer.Sender (#30473)
Use types.Sender(signer, tx) to utilize the transaction's sender cache and avoid repeated address recover.
Configuration menu - View commit details
-
Copy full SHA for 0a21cb4 - Browse repository at this point
Copy the full SHA 0a21cb4View commit details -
Configuration menu - View commit details
-
Copy full SHA for cfe25c7 - Browse repository at this point
Copy the full SHA cfe25c7View commit details -
Configuration menu - View commit details
-
Copy full SHA for e67d5f8 - Browse repository at this point
Copy the full SHA e67d5f8View commit details -
cmd/geth: remove deprecated lightchaindata db (#30527)
This PR removes the dependencies on `lightchaindata` db as the light protocol has been deprecated and removed from the codebase.
Configuration menu - View commit details
-
Copy full SHA for db6ae7f - Browse repository at this point
Copy the full SHA db6ae7fView commit details
Commits on Oct 1, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 40fd887 - Browse repository at this point
Copy the full SHA 40fd887View commit details -
Configuration menu - View commit details
-
Copy full SHA for f14f13b - Browse repository at this point
Copy the full SHA f14f13bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 096c4d2 - Browse repository at this point
Copy the full SHA 096c4d2View commit details -
params: begin v1.14.12 release cycle (#30536)
params: begin v1.14.12 release cycle
Configuration menu - View commit details
-
Copy full SHA for 90970ed - Browse repository at this point
Copy the full SHA 90970edView commit details -
core/rawdb: freezer index repair (#29792)
This pull request removes the `fsync` of index files in freezer.ModifyAncients function for performance gain. Originally, fsync is added after each freezer write operation to ensure the written data is truly transferred into disk. Unfortunately, it turns out `fsync` can be relatively slow, especially on macOS (see #28754 for more information). In this pull request, fsync for index file is removed as it turns out index file can be recovered even after a unclean shutdown. But fsync for data file is still kept, as we have no meaningful way to validate the data correctness after unclean shutdown. --- **But why do we need the `fsync` in the first place?** As it's necessary for freezer to survive/recover after the machine crash (e.g. power failure). In linux, whenever the file write is performed, the file metadata update and data update are not necessarily performed at the same time. Typically, the metadata will be flushed/journalled ahead of the file data. Therefore, we make the pessimistic assumption that the file is first extended with invalid "garbage" data (normally zero bytes) and that afterwards the correct data replaces the garbage. We have observed that the index file of the freezer often contain garbage entry with zero value (filenumber = 0, offset = 0) after a machine power failure. It proves that the index file is extended without the data being flushed. And this corruption can destroy the whole freezer data eventually. Performing fsync after each write operation can reduce the time window for data to be transferred to the disk and ensure the correctness of the data in the disk to the greatest extent. --- **How can we maintain this guarantee without relying on fsync?** Because the items in the index file are strictly in order, we can leverage this characteristic to detect the corruption and truncate them when freezer is opened. Specifically these validation rules are performed for each index file: For two consecutive index items: - If their file numbers are the same, then the offset of the latter one MUST not be less than that of the former. - If the file number of the latter one is equal to that of the former plus one, then the offset of the latter one MUST not be 0. - If their file numbers are not equal, and the latter's file number is not equal to the former plus 1, the latter one is valid And also, for the first non-head item, it must refer to the earliest data file, or the next file if the earliest file is not sufficient to place the first item(very special case, only theoretical possible in tests) With these validation rules, we can detect the invalid item in index file with greatest possibility. --- But unfortunately, these scenarios are not covered and could still lead to a freezer corruption if it occurs: **All items in index file are in zero value** It's impossible to distinguish if they are truly zero (e.g. all the data entries maintained in freezer are zero size) or just the garbage left by OS. In this case, these index items will be kept by truncating the entire data file, namely the freezer is corrupted. However, we can consider that the probability of this situation occurring is quite low, and even if it occurs, the freezer can be considered to be close to an empty state. Rerun the state sync should be acceptable. **Index file is integral while relative data file is corrupted** It might be possible the data file is corrupted whose file size is extended correctly with garbage filled (e.g. zero bytes). In this case, it's impossible to detect the corruption by index validation. We can either choose to `fsync` the data file, or blindly believe that if index file is integral then the data file could be integral with very high chance. In this pull request, the first option is taken.
Configuration menu - View commit details
-
Copy full SHA for eff0bed - Browse repository at this point
Copy the full SHA eff0bedView commit details -
internal/web3ext: rm unused modules (#30532)
Remove console extensions for already deleted API namespaces (les, vflux and ethash).
Configuration menu - View commit details
-
Copy full SHA for 6416813 - Browse repository at this point
Copy the full SHA 6416813View commit details
Commits on Oct 2, 2024
-
core/vm, cmd/evm: implement eof validation (#30418)
The bulk of this PR is authored by @lightclient , in the original EOF-work. More recently, the code has been picked up and reworked for the new EOF specification, by @MariusVanDerWijden , in #29518, and also @shemnon has contributed with fixes. This PR is an attempt to start eating the elephant one small bite at a time, by selecting only the eof-validation as a standalone piece which can be merged without interfering too much in the core stuff. In this PR: - [x] Validation of eof containers, lifted from #29518, along with test-vectors from consensus-tests and fuzzing, to ensure that the move did not lose any functionality. - [x] Definition of eof opcodes, which is a prerequisite for validation - [x] Addition of `undefined` to a jumptable entry item. I'm not super-happy with this, but for the moment it seems the least invasive way to do it. A better way might be to go back and allowing nil-items or nil execute-functions to denote "undefined". - [x] benchmarks of eof validation speed --------- Co-authored-by: lightclient <lightclient@protonmail.com> Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de> Co-authored-by: Danno Ferrin <danno.ferrin@shemnon.com>
Configuration menu - View commit details
-
Copy full SHA for 56c4f2b - Browse repository at this point
Copy the full SHA 56c4f2bView commit details -
beacon/light: optimize lock usage in
HeadTracker
(#30485)minimizes the time when the lock is held
Configuration menu - View commit details
-
Copy full SHA for 84a8021 - Browse repository at this point
Copy the full SHA 84a8021View commit details
Commits on Oct 4, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 65e5ca7 - Browse repository at this point
Copy the full SHA 65e5ca7View commit details
Commits on Oct 8, 2024
-
Configuration menu - View commit details
-
Copy full SHA for f8ac95e - Browse repository at this point
Copy the full SHA f8ac95eView commit details
Commits on Oct 9, 2024
-
all: implement flat deposit requests encoding (#30425)
This implements recent changes to EIP-7685, EIP-6110, and execution-apis. --------- Co-authored-by: lightclient <lightclient@protonmail.com> Co-authored-by: Shude Li <islishude@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 2936b41 - Browse repository at this point
Copy the full SHA 2936b41View commit details -
eth/tracers: do system contract processing prior to parallel-tracing (#…
…30520) This fixes `debug_traceBlock` methods for JS tracers in that it correctly applies the beacon block root processing to the state.
Configuration menu - View commit details
-
Copy full SHA for 7942a6b - Browse repository at this point
Copy the full SHA 7942a6bView commit details
Commits on Oct 10, 2024
-
eth/catalyst, core/txpool/blobpool: make tests output less logs (#30563)
A couple of tests set the debug level to `TRACE` on stdout, and all subsequent tests in the same package are also affected by that, resulting in outputs of tens of megabytes. This PR removes such calls from two packages where it was prevalent. This makes getting a summary of failing tests simpler, and possibly reduces some strain from the CI pipeline.
Configuration menu - View commit details
-
Copy full SHA for 58cf152 - Browse repository at this point
Copy the full SHA 58cf152View commit details -
eth/protocols/eth: remove Requests in block body (#30562)
Block no longer has Requests. This PR just removes some code that wasn't removed in #30425.
Configuration menu - View commit details
-
Copy full SHA for 5b393ac - Browse repository at this point
Copy the full SHA 5b393acView commit details -
core/tracing: add GetTransientState method to StateDB interface (#30531)
Allows live custom tracers to access contract transient storage through the StateDB interface.
Configuration menu - View commit details
-
Copy full SHA for 16bf471 - Browse repository at this point
Copy the full SHA 16bf471View commit details
Commits on Oct 11, 2024
-
all: implement EIP-7002 & EIP-7251 (#30571)
This is a redo of #29052 based on newer specs. Here we implement EIPs scheduled for the Prague fork: - EIP-7002: Execution layer triggerable withdrawals - EIP-7251: Increase the MAX_EFFECTIVE_BALANCE Co-authored-by: lightclient <lightclient@protonmail.com>
Configuration menu - View commit details
-
Copy full SHA for 3a5313f - Browse repository at this point
Copy the full SHA 3a5313fView commit details
Commits on Oct 12, 2024
-
Configuration menu - View commit details
-
Copy full SHA for fad7e74 - Browse repository at this point
Copy the full SHA fad7e74View commit details
Commits on Oct 13, 2024
-
cmd/evm: fixup issues with requests in t8n (#30584)
This fixes a few issues missed in #29052: * `requests` must be hex encoded, so added a helper to marshal. * The statedb was committed too early and so the result of the system calls was lost. * For devnet-4 we need to pull off the type byte prefix from the request data.
Configuration menu - View commit details
-
Copy full SHA for 2246d66 - Browse repository at this point
Copy the full SHA 2246d66View commit details -
Configuration menu - View commit details
-
Copy full SHA for 16f6409 - Browse repository at this point
Copy the full SHA 16f6409View commit details
Commits on Oct 14, 2024
-
trie: concurrent commit (#30545)
This change makes the trie commit operation concurrent, if the number of changes exceed 100. Co-authored-by: stevemilk <wangpeculiar@gmail.com> Co-authored-by: Gary Rong <garyrong0905@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for f4dc753 - Browse repository at this point
Copy the full SHA f4dc753View commit details -
build: update to golangci-lint 1.61.0 (#30587)
Changelog: https://golangci-lint.run/product/changelog/#1610 Removes `exportloopref` (no longer needed), replaces it with `copyloopvar` which is basically the opposite. Also adds: - `durationcheck` - `gocheckcompilerdirectives` - `reassign` - `mirror` - `tenv` --------- Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Configuration menu - View commit details
-
Copy full SHA for 5adc314 - Browse repository at this point
Copy the full SHA 5adc314View commit details -
beacon/engine: strip type byte in requests (#30576)
This change brings geth into compliance with the current engine API specification for the Prague fork. I have moved the assignment of ExecutionPayloadEnvelope.Requests into BlockToExecutableData to ensure there is a single place where the type is removed. While doing so, I noticed that handling of requests in the miner was not quite correct for the empty payload. It would return `nil` requests for the empty payload even for blocks after the Prague fork. To fix this, I have added the emptyRequests field in miner.Payload.
Configuration menu - View commit details
-
Copy full SHA for add5709 - Browse repository at this point
Copy the full SHA add5709View commit details
Commits on Oct 15, 2024
-
internal/ethapi: refactor
TxArgs.setCancunFeeDefaults
(#30541)calculating a reasonable tx blob fee cap (`max_blob_fee_per_gas * total_blob_gas`) only depends on the excess blob gas of the parent header. The parent header is assumed to be correct, so the method should not be able to fail and return an error.
Configuration menu - View commit details
-
Copy full SHA for 4b9c782 - Browse repository at this point
Copy the full SHA 4b9c782View commit details -
crypto: use decred secp256k1 directly (#30595)
Use `github.com/decred/dcrd/dcrec/secp256k1/v4` directly rather than `github.com/btcsuite/btcd/btcec/v2` which is just a wrapper around the underlying decred library. Inspired by cosmos/cosmos-sdk#15018 `github.com/btcsuite/btcd/btcec/v2` has a very annoying breaking change when upgrading from `v2.3.3` to `v2.3.4`. The easiest way to workaround this is to just remove the wrapper. Would be very nice if you could backport this to the release branches. References: - btcsuite/btcd#2221 - cometbft/cometbft#4294 - cometbft/cometbft#3728 - zeta-chain/node#2934
Configuration menu - View commit details
-
Copy full SHA for 30ce173 - Browse repository at this point
Copy the full SHA 30ce173View commit details -
beacon/engine: omit null witness field from payload envelope (#30597)
## Description Omit null `witness` field from payload envelope. ## Motivation Currently, JSON encoded payload types always include `"witness": null`, which, I believe, is not intentional.
Configuration menu - View commit details
-
Copy full SHA for 4c4219e - Browse repository at this point
Copy the full SHA 4c4219eView commit details -
Configuration menu - View commit details
-
Copy full SHA for a449057 - Browse repository at this point
Copy the full SHA a449057View commit details -
Configuration menu - View commit details
-
Copy full SHA for 15bf90e - Browse repository at this point
Copy the full SHA 15bf90eView commit details
Commits on Oct 16, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 368e16f - Browse repository at this point
Copy the full SHA 368e16fView commit details -
core: reduce peak memory usage during reorg (#30600)
~~Opening this as a draft to have a discussion.~~ Pressed the wrong button I had [a previous PR ](#24616 long time ago which reduced the peak memory used during reorgs by not accumulating all transactions and logs. This PR reduces the peak memory further by not storing the blocks in memory. However this means we need to pull the blocks back up from storage multiple times during the reorg. I collected the following numbers on peak memory usage: // Master: BenchmarkReorg-8 10000 899591 ns/op 820154 B/op 1440 allocs/op 1549443072 bytes of heap used // WithoutOldChain: BenchmarkReorg-8 10000 1147281 ns/op 943163 B/op 1564 allocs/op 1163870208 bytes of heap used // WithoutNewChain: BenchmarkReorg-8 10000 1018922 ns/op 943580 B/op 1564 allocs/op 1171890176 bytes of heap used Each block contains a transaction with ~50k bytes and we're doing a 10k block reorg, so the chain should be ~500MB in size --------- Co-authored-by: Péter Szilágyi <peterke@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 18a5918 - Browse repository at this point
Copy the full SHA 18a5918View commit details
Commits on Oct 17, 2024
-
eth/tracers: various fixes (#30540)
Breaking changes: - The ChainConfig was exposed to tracers via VMContext passed in `OnTxStart`. This is unnecessary specially looking through the lens of live tracers as chain config remains the same throughout the lifetime of the program. It was there so that native API-invoked tracers could access it. So instead we moved it to the constructor of API tracers. Non-breaking: - Change the default config of the tracers to be `{}` instead of nil. This way an extra nil check can be avoided. Refactoring: - Rename `supply` struct to `supplyTracer`. - Un-export some hook definitions.
Configuration menu - View commit details
-
Copy full SHA for 978ca5f - Browse repository at this point
Copy the full SHA 978ca5fView commit details -
miner: send full request when resolving full payload (#30615)
Fixes an issue missed in #30576 where we send empty requests for a full payload being resolved, causing hash mismatch later on when we get the payload back via `NewPayload`.
Configuration menu - View commit details
-
Copy full SHA for 1da34a3 - Browse repository at this point
Copy the full SHA 1da34a3View commit details -
beacon/engine,eth/catalyst: hex marshal requests in engine api (#30603)
Co-authored-by: Felix Lange <fjl@twurst.com>
Configuration menu - View commit details
-
Copy full SHA for e26468f - Browse repository at this point
Copy the full SHA e26468fView commit details -
Configuration menu - View commit details
-
Copy full SHA for afea3bd - Browse repository at this point
Copy the full SHA afea3bdView commit details
Commits on Oct 18, 2024
-
swarm: nuke this leftover (#30622)
Swarm moved out more than 5 years ago, time to let it go.
Configuration menu - View commit details
-
Copy full SHA for f32f868 - Browse repository at this point
Copy the full SHA f32f868View commit details -
gitignore: get rid of some relics (#30623)
Clean out some ancient stuff from git ignore.
Configuration menu - View commit details
-
Copy full SHA for 9891f02 - Browse repository at this point
Copy the full SHA 9891f02View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3ff73d4 - Browse repository at this point
Copy the full SHA 3ff73d4View commit details -
core, trie, triedb: minor changes from snapshot integration (#30599)
This change ports some non-important changes from #30159, including interface renaming and some trivial refactorings.
Configuration menu - View commit details
-
Copy full SHA for b6c62d5 - Browse repository at this point
Copy the full SHA b6c62d5View commit details
Commits on Oct 20, 2024
-
core/state: fix runaway alloc caused by prefetcher heap escape (#30629)
Co-authored-by: lightclient <lightclient@protonmail.com>
Configuration menu - View commit details
-
Copy full SHA for babd5d8 - Browse repository at this point
Copy the full SHA babd5d8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 48d05c4 - Browse repository at this point
Copy the full SHA 48d05c4View commit details -
Configuration menu - View commit details
-
Copy full SHA for bb527b9 - Browse repository at this point
Copy the full SHA bb527b9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9015a05 - Browse repository at this point
Copy the full SHA 9015a05View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5c3b792 - Browse repository at this point
Copy the full SHA 5c3b792View commit details -
Configuration menu - View commit details
-
Copy full SHA for dac54e3 - Browse repository at this point
Copy the full SHA dac54e3View commit details -
eth/tracers/js: avoid compiling js bigint when not needed (#30640)
While looking at some mem profiles from `evm` runs, I noticed that `goja` compilation of the bigint library was present. The bigint library compilation happens in a package `init`, whenever the package `eth/tracers/js` is loaded. This PR changes it to load lazily when needed. It becomes slightly faster with this change, and slightly less alloc:y. Non-scientific benchmark with 100 executions: ``` time for i in {1..100}; do ./evm --code 6040 run; done; ``` current `master`: ``` real 0m6.634s user 0m5.213s sys 0m2.277s ``` Without compiling bigint ``` real 0m5.802s user 0m4.191s sys 0m1.965s ```
Configuration menu - View commit details
-
Copy full SHA for e4dbd5f - Browse repository at this point
Copy the full SHA e4dbd5fView commit details
Commits on Oct 21, 2024
-
consensus/clique, miner: remove clique -> accounts dependency (#30642)
Clique currently depends on the `accounts` package. This was a bit of a big cannon even in the past, just to pass a signer "account" to the Clique block producer. Either way, nowadays Geth does not support clique mining any more, so by removing that bit of functionality from our code, we can also break this dependency. Clique should ideally be further torn out, but this at least gets us one step closer to cleanups.
Configuration menu - View commit details
-
Copy full SHA for 31a6418 - Browse repository at this point
Copy the full SHA 31a6418View commit details -
common: drop BigMin and BigMax, they pollute our dep graph (#30645)
Way back we've added `common.math.BigMin` and `common.math.BigMax`. These were kind of cute helpers, but unfortunate ones, because package all over out codebase added dependencies to this package just to avoid having to write out 3 lines of code. Because of this, we've also started having package name clashes with the stdlib `math`, which got solves even more badly by moving some helpers over ***from*** the stdlib into our custom lib (e.g. MaxUint64). The latter ones were nuked out in a previous PR and this PR nukes out BigMin and BigMax, inlining them at all call sites. As we're transitioning to uint256, if need be, we can add a min and max to that.
Configuration menu - View commit details
-
Copy full SHA for a5fe735 - Browse repository at this point
Copy the full SHA a5fe735View commit details
Commits on Oct 23, 2024
-
core/state: move state log mechanism to a separate layer (#30569)
This PR moves the logging/tracing-facilities out of `*state.StateDB`, in to a wrapping struct which implements `vm.StateDB` instead. In most places, it is a pretty straight-forward change: - First, hoisting the invocations from state objects up to the statedb. - Then making the mutation-methods simply return the previous value, so that the external logging layer could log everything. Some internal code uses the direct object-accessors to mutate the state, particularly in testing and in setting up state overrides, which means that these changes are unobservable for the hooked layer. Thus, configuring the overrides are not necessarily part of the API we want to publish. The trickiest part about the layering is that when the selfdestructs are finally deleted during `Finalise`, there's the possibility that someone sent some ether to it, which is burnt at that point, and thus needs to be logged. The hooked layer reaches into the inner layer to figure out these events. In package `vm`, the conversion from `state.StateDB + hooks` into a hooked `vm.StateDB` is performed where needed. --------- Co-authored-by: Gary Rong <garyrong0905@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 459bb4a - Browse repository at this point
Copy the full SHA 459bb4aView commit details -
crypto, tests/fuzzers: add gnark bn254 precompile methods for fuzzing (…
…#30585) Makes the gnark precompile methods more amenable to fuzzing
Configuration menu - View commit details
-
Copy full SHA for 74461ae - Browse repository at this point
Copy the full SHA 74461aeView commit details -
all: remove TerminalTotalDifficultyPassed (#30609)
rebased #29766 . The downstream branch appears to have been deleted and I don't have perms to push to that fork. `TerminalTotalDifficultyPassed` is removed. `TerminalTotalDifficulty` must now be non-nil, and it is expected that networks are already merged: we can only import PoW/Clique chains, not produce blocks on them. --------- Co-authored-by: stevemilk <wangpeculiar@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 478012a - Browse repository at this point
Copy the full SHA 478012aView commit details -
eth/tracers/internal/tracertest: add missing Random to call context (#…
…30652) Fixes a configuration issue in a test-helper, so that we can do call tracing-tests post-merge
Configuration menu - View commit details
-
Copy full SHA for f8f5609 - Browse repository at this point
Copy the full SHA f8f5609View commit details -
docs: update security policy (#30606)
previous key expired 2023-07-27, the new one expires 2026-02-22: pub rsa4096 2016-11-11 [SC] [expires: 2026-02-22] AE96ED969E479B0084F3E17FE88D3334FA5F6A0A uid Ethereum Foundation Security Team <security@ethereum.org> uid Ethereum Foundation Bug Bounty <bounty@ethereum.org> sub rsa4096 2016-11-11 [E] [expires: 2026-02-22]
Configuration menu - View commit details
-
Copy full SHA for 3e567b8 - Browse repository at this point
Copy the full SHA 3e567b8View commit details
Commits on Oct 24, 2024
-
core: fix tracing of system calls (#30666)
This change makes it so that the wrapped statedb with tracing-hooks is passed to the system call processing Fixes #30658
Configuration menu - View commit details
-
Copy full SHA for 461afdf - Browse repository at this point
Copy the full SHA 461afdfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 24c5493 - Browse repository at this point
Copy the full SHA 24c5493View commit details
Commits on Oct 25, 2024
-
beacon/blsync: add holesky config and update checkpoints (#30671)
This PR adds the beacon chain config for the holesky testnet. It also updates beacon checkpoints for Mainnet and Sepolia.
Configuration menu - View commit details
-
Copy full SHA for 6c6bf6f - Browse repository at this point
Copy the full SHA 6c6bf6fView commit details -
ethdb: add DeleteRange feature (#30668)
This PR adds `DeleteRange` to `ethdb.KeyValueWriter`. While range deletion using an iterator can be really slow, `DeleteRange` is natively supported by pebble and apparently runs in O(1) time (typically 20-30ms in my tests for removing hundreds of millions of keys and gigabytes of data). For leveldb and memorydb an iterator based fallback is implemented. Note that since the iterator method can be slow and a database function should not unexpectedly block for a very long time, the number of deleted keys is limited at 10000 which should ensure that it does not block for more than a second. ErrTooManyKeys is returned if the range has only been partially deleted. In this case the caller can repeat the call until it finally succeeds.
Configuration menu - View commit details
-
Copy full SHA for 80bdab7 - Browse repository at this point
Copy the full SHA 80bdab7View commit details
Commits on Oct 28, 2024
-
Configuration menu - View commit details
-
Copy full SHA for c3919f9 - Browse repository at this point
Copy the full SHA c3919f9View commit details -
Configuration menu - View commit details
-
Copy full SHA for bce420b - Browse repository at this point
Copy the full SHA bce420bView commit details
Commits on Oct 29, 2024
-
eth/tracers: add disableCode/Storage options for prestateTracer (#30648)
When using the prestateTracer, in some cases users are only concerned with balances or nonce information, and are not interested in the lengthy contract code or storage data. Therefore, this PR introduces two new configuration options in the `prestateTracerConfig` structure: - `disableCode` - `disableStorage` These options allow users to control whether the tracer returns contract code and storage data during execution tracing. By setting these options, users can more flexibly customize their needs and focus on obtaining information that is more critical and relevant to their specific use cases. These options work with the default mode as well as `diffMode: true`. --------- Signed-off-by: jsvisa <delweng@gmail.com> Co-authored-by: Sina M <1591639+s1na@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 98056e1 - Browse repository at this point
Copy the full SHA 98056e1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7180d26 - Browse repository at this point
Copy the full SHA 7180d26View commit details -
Configuration menu - View commit details
-
Copy full SHA for 236147b - Browse repository at this point
Copy the full SHA 236147bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8c73523 - Browse repository at this point
Copy the full SHA 8c73523View commit details
Commits on Oct 30, 2024
-
beacon/light: remove unused CommitteeChain.signerThreshold (#30484)
This field is a duplicate of UpdateScore.SignerCount and never referenced.
Configuration menu - View commit details
-
Copy full SHA for 87465e9 - Browse repository at this point
Copy the full SHA 87465e9View commit details -
core/vm: speed up push and interpreter loop (#30662)
Looking at the cpu profile of a burntpix benchmark, I noticed that a lot of time was spent in gas-used, in the interpreter loop. It's an actual call (not inlined), which explicitly wants to be ignored by tracing ("tracing.GasChangeIgnored"), so it can be safely and simply inlined. The other change is in `pushX`. These also do a call to `common.RightPadBytes`. I replaced that by a doing a corresponding `Lsh` on the `u256` if needed. Note: it's needed only to make the stack output look right, for fuzzers. It technically doesn't matter what we put there: if code ends on a pushdata immediate, nothing will consume the stack element. We could just as well just ignore it, if we didn't care about fuzzers (which I do). Seems quite a lot faster on burntpix, according to my runs. This PR: ``` EVM gas used: 5642735088 execution time: 34.84609475s allocations: 915683 allocated bytes: 175334088 ``` ``` EVM gas used: 5642735088 execution time: 36.671958278s allocations: 915701 allocated bytes: 175340528 ``` Master ``` EVM gas used: 5642735088 execution time: 49.349209526s allocations: 915684 allocated bytes: 175333368 ``` ``` EVM gas used: 5642735088 execution time: 46.581006598s allocations: 915681 allocated bytes: 175330728 ``` --------- Co-authored-by: Sina M <1591639+s1na@users.noreply.github.com> Co-authored-by: Felix Lange <fjl@twurst.com>
Configuration menu - View commit details
-
Copy full SHA for 25bc077 - Browse repository at this point
Copy the full SHA 25bc077View commit details
Commits on Oct 31, 2024
-
core: add code to witness when state object is accessed (#30698)
I think the core code should generally be agnostic about the witness and the statedb layer should determine what elements need to be included in the witness. Because code is accessed via `GetCode`, and `GetCodeLength`, the statedb will always know when it needs to add that code into the witness. The edge case is block hashes, so we continue to add them manually in the implementation of `BLOCKHASH`. It probably makes sense to refactor statedb so we have a wrapped implementation that accumulates the witness, but this is a simpler change that makes #30078 less aggressive.
Configuration menu - View commit details
-
Copy full SHA for 9afb18d - Browse repository at this point
Copy the full SHA 9afb18dView commit details -
cmd/utils, eth/ethconfig: remove some ancient leftover flag (#30705)
This is a flag leftover from the swarm era. No need to deprecate it, it's been useless/dead forever now.
Configuration menu - View commit details
-
Copy full SHA for 5230b06 - Browse repository at this point
Copy the full SHA 5230b06View commit details -
internal/flags: remove Merge, it's identical to slices.Concat (#30706)
This is a noop change to not have custom code for stdlib functionality.
Configuration menu - View commit details
-
Copy full SHA for 20bf543 - Browse repository at this point
Copy the full SHA 20bf543View commit details -
internal/flags: remove low-use type TextMarshalerFlag (#30707)
Currently we have a custom TextMarshalerFlag. It's a nice idea, allowing anything implementing text marshaller to be used as a flag. That said, we only ever used it in one place because it's not that obvious how to use and it needs some boilerplate on the type itself too, apart of the heavy boilerplate got the custom flag. All in all there's no *need* to drop this feature just now, but while porting the cmds over to cli @V3, all other custom flags worker perfectly, whereas this one started crashing deep inside the cli package. The flag handling in v3 got rebuild on generics and there are a number of new methods needed; and my guess is that maybe one of them doesn't work like this flag currently is designed too. We could definitely try and redesign this flag for cli v3... but all that effort and boilerplate just to use it for 1 flag in 1 location, seems not worth it. So for now I'm suggesting removing it and maybe reconsider a similar feature in cli v3 with however it will work.
Configuration menu - View commit details
-
Copy full SHA for a1d049c - Browse repository at this point
Copy the full SHA a1d049cView commit details -
all: remove
personal
RPC namespace (#30704)This PR is a first step towards removing account management from geth, and contains a lot of the user-facing changes. With this PR, the `personal` namespace disappears. **Note**: `personal` namespace has been deprecated for quite some time (since #26390 1 year and 8 months ago), and users who have wanted to use it has been forced to used the flag `--rpc.enabledeprecatedpersonal`. So I think it's fairly non-controversial to drop it at this point. Specifically, this means: - Account/wallet listing -`personal.getListAccounts` -`personal.listAccounts` -`personal.getListWallets` -`personal.listWallets` - Lock/unlock -`personal.lockAccount` -`personal.openWallet` -`personal.unlockAccount` - Sign ops -`personal.sign` -`personal.sendTransaction` -`personal.signTransaction` - Imports / inits -`personal.deriveAccount` -`personal.importRawKey` -`personal.initializeWallet` -`personal.newAccount` -`personal.unpair` - Other: -`personal.ecRecover` The underlying keystores and account managent code is still in place, which means that `geth --dev` still works as expected, so that e.g. the example below still works: ``` > eth.sendTransaction({data:"0x6060", value: 1, from:eth.accounts[0]}) ``` Also, `ethkey` and `clef` are untouched. With the removal of `personal`, as far as I know we have no more API methods which contain credentials, and if we want to implement logging-capabilities of RPC ingress payload, it would be possible after this. --------- Co-authored-by: Felix Lange <fjl@twurst.com>
Configuration menu - View commit details
-
Copy full SHA for f3b4bbb - Browse repository at this point
Copy the full SHA f3b4bbbView commit details
Commits on Nov 1, 2024
-
eth/tracers: flatCallTracer error compatible with parity (#30497)
Compatible error message in the flat call tracer with parity-style endpoints. Signed-off-by: jsvisa <delweng@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for a1093d9 - Browse repository at this point
Copy the full SHA a1093d9View commit details
Commits on Nov 3, 2024
-
Configuration menu - View commit details
-
Copy full SHA for c48e936 - Browse repository at this point
Copy the full SHA c48e936View commit details
Commits on Nov 4, 2024
-
tests/fuzzers/bls12381: more verbose fuzzing-output (#30724)
This PR updates the fuzzing verbosity a bit, in case of mismatches
Configuration menu - View commit details
-
Copy full SHA for 6e1fedb - Browse repository at this point
Copy the full SHA 6e1fedbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 484f0f4 - Browse repository at this point
Copy the full SHA 484f0f4View commit details -
eth/catalyst: make engine api test time independent (#30713)
This test depends on a 100ms timer, which fails quite often, messing up our pipelines. Hook directly into the internal version of getPayload which has the capacity to wait for the full payload before returning. This might not be absolutely correct from a test perspective, but it beats failing ci. The alternative would be to expose the full build hook into the outside, but it might be a bit overkill for this scenario.
Configuration menu - View commit details
-
Copy full SHA for 7d6e153 - Browse repository at this point
Copy the full SHA 7d6e153View commit details -
core/vm/runtime: invoke tx-end hook (#30711)
When using the `core/vm/runtime` helpers to execute code, callbacks for the tx end were not invoked. This change fixes it by invoking them.
Configuration menu - View commit details
-
Copy full SHA for 014e2b0 - Browse repository at this point
Copy the full SHA 014e2b0View commit details -
core, trie: verkle state processor tests (#30672)
Tests that are crucial to for verifying the verkle testnet functions properly. --------- Signed-off-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com> Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com> Co-authored-by: Gary Rong <garyrong0905@gmail.com> Co-authored-by: Martin HS <martin@swende.se>
Configuration menu - View commit details
-
Copy full SHA for 06cbc80 - Browse repository at this point
Copy the full SHA 06cbc80View commit details -
all: fix issues with benchmarks (#30667)
This PR fixes some issues with benchmarks - [x] Removes log output from a log-test - [x] Avoids a `nil`-defer in `triedb/pathdb` - [x] Fixes some crashes re tracers - [x] Refactors a very resource-expensive benchmark for blobpol. **NOTE**: this rewrite touches live production code (a little bit), as it makes the validator-function used by the blobpool configurable. - [x] Switch some benches over to use pebble over leveldb - [x] reduce mem overhead in the setup-phase of some tests - [x] Marks some tests with a long setup-phase to be skipped if `-short` is specified (where long is on the order of tens of seconds). Ideally, in my opinion, one should be able to run with `-benchtime 10ms -short` and sanity-check all tests very quickly. - [x] Drops some metrics-bechmark which times the speed of `copy`. --------- Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for da17f2d - Browse repository at this point
Copy the full SHA da17f2dView commit details
Commits on Nov 5, 2024
-
eth/tracers: fill the creationMethod in flatCall (#30539)
`flatCallTracer` will now specify the type of a create in the action via the `creationMethod` field. --------- Signed-off-by: jsvisa <delweng@gmail.com> Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 229ce64 - Browse repository at this point
Copy the full SHA 229ce64View commit details -
Configuration menu - View commit details
-
Copy full SHA for e56bbd7 - Browse repository at this point
Copy the full SHA e56bbd7View commit details
Commits on Nov 6, 2024
-
cmd/utils: change blssync.JWTSecretFlag to DirectoryFlag (#30729)
closes #30304 We already use `DirectoryFlag` for `authrpc.jwtsecret` which expands the tilde, so this should work out of the box
Configuration menu - View commit details
-
Copy full SHA for 9c08631 - Browse repository at this point
Copy the full SHA 9c08631View commit details
Commits on Nov 7, 2024
-
build(deps): bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 (#…
…30728) Bumps [github.com/golang-jwt/jwt/v4](https://github.com/golang-jwt/jwt) from 4.5.0 to 4.5.1. Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 4bac6e6 - Browse repository at this point
Copy the full SHA 4bac6e6View commit details -
ethclient: add RevertErrorData function and example (#30669)
Here I'm adding a new helper function that extracts the revert reason of a contract call. Unfortunately, this aspect of the API is underspecified. See these spec issues for more detail: - ethereum/execution-apis#232 - ethereum/execution-apis#463 - ethereum/execution-apis#523 The function added here only works with Geth-like servers that return error code `3`. We will not be able to support all possible servers. However, if there is a specific server implementation that makes it possible to extract the same info, we could add it in the same function as well. --------- Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Configuration menu - View commit details
-
Copy full SHA for e92e22a - Browse repository at this point
Copy the full SHA e92e22aView commit details
Commits on Nov 8, 2024
-
ethclient/gethclient: testcase for createAccessList, make tabledriven (…
…#30194) Adds testcase for createAccessList when user requested gasPrice is less than baseFee, also makes the tests tabledriven --------- Co-authored-by: Martin Holst Swende <martin@swende.se>
Configuration menu - View commit details
-
Copy full SHA for 8e00f95 - Browse repository at this point
Copy the full SHA 8e00f95View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0fc9cca - Browse repository at this point
Copy the full SHA 0fc9ccaView commit details -
accounts/usbwallet: support dynamic tx (#30180)
Adds support non-legacy transaction-signing using ledger --------- Co-authored-by: Martin Holst Swende <martin@swende.se>
Configuration menu - View commit details
-
Copy full SHA for a6037d0 - Browse repository at this point
Copy the full SHA a6037d0View commit details -
signer/core: extended support for EIP-712 array types (#30620)
This change updates the EIP-712 implementation to resolve [#30619](#30619). The test cases have been repurposed from the ethers.js [repository](https://github.com/ethers-io/ethers.js/blob/main/testcases/typed-data.json.gz), but have been updated to remove tests that don't have a valid domain separator; EIP-712 messages without a domain separator are not supported by geth. --------- Co-authored-by: Martin Holst Swende <martin@swende.se>
Configuration menu - View commit details
-
Copy full SHA for 5b78aef - Browse repository at this point
Copy the full SHA 5b78aefView commit details -
cmd/evm: benchmarking via
statetest
command + filter by name, index…… and fork (#30442) When `evm statetest --bench` is specified, benchmark the execution similarly to `evm run`. Also adds the ability to filter tests by name, index and fork. --------- Co-authored-by: Martin Holst Swende <martin@swende.se>
Configuration menu - View commit details
-
Copy full SHA for d42d450 - Browse repository at this point
Copy the full SHA d42d450View commit details -
beacon/blsync: remove cli dependencies (#30720)
This PR moves chain config related code (config file processing, fork logic, network defaults) from `beacon/types` and `beacon/blsync` into `beacon/params` while the command line flag logic of the chain config is moved into `cmd/utils`, thereby removing the cli dependencies from package `beacon` and its sub-packages.
Configuration menu - View commit details
-
Copy full SHA for 7cbce8e - Browse repository at this point
Copy the full SHA 7cbce8eView commit details -
core/state: invoke OnCodeChange-hook on selfdestruct (#30686)
This change invokes the OnCodeChange hook when selfdestruct operation is performed, and a contract is removed. This is an event which can be consumed by tracers.
Configuration menu - View commit details
-
Copy full SHA for 3c7336b - Browse repository at this point
Copy the full SHA 3c7336bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 896fc51 - Browse repository at this point
Copy the full SHA 896fc51View commit details -
Configuration menu - View commit details
-
Copy full SHA for 55fdbb7 - Browse repository at this point
Copy the full SHA 55fdbb7View commit details
Commits on Nov 9, 2024
-
core/state, triedb/database: refactor state reader (#30712)
Co-authored-by: Martin HS <martin@swende.se>
Configuration menu - View commit details
-
Copy full SHA for 74ef474 - Browse repository at this point
Copy the full SHA 74ef474View commit details -
eth/protocols/eth: add ETH68 protocol handler fuzzers (#30417)
Adds a protocol handler fuzzer to fuzz the ETH68 protocol handlers
Configuration menu - View commit details
-
Copy full SHA for 3f5f2ef - Browse repository at this point
Copy the full SHA 3f5f2efView commit details
Commits on Nov 10, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 77f3ef3 - Browse repository at this point
Copy the full SHA 77f3ef3View commit details
Commits on Nov 11, 2024
-
p2p/netutil: unittests for addrutil (#30439)
add unit tests for `p2p/addrutil` --------- Co-authored-by: Martin HS <martin@swende.se>
Configuration menu - View commit details
-
Copy full SHA for ae83912 - Browse repository at this point
Copy the full SHA ae83912View commit details -
Configuration menu - View commit details
-
Copy full SHA for df182a7 - Browse repository at this point
Copy the full SHA df182a7View commit details
Commits on Nov 15, 2024
-
core/state: tests on the binary iterator (#30754)
Fixes an error in the binary iterator, adds additional testcases --------- Co-authored-by: Gary Rong <garyrong0905@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for ec280e0 - Browse repository at this point
Copy the full SHA ec280e0View commit details -
cmd/geth: remove unlock commandline flag (#30737)
This is one further step towards removing account management from `geth`. This PR deprecates the flag `unlock`, and makes the flag moot: unlock via geth is no longer possible.
Configuration menu - View commit details
-
Copy full SHA for a5f0001 - Browse repository at this point
Copy the full SHA a5f0001View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7c0ff05 - Browse repository at this point
Copy the full SHA 7c0ff05View commit details
Commits on Nov 19, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 83790b0 - Browse repository at this point
Copy the full SHA 83790b0View commit details -
all: remove kilic dependency from bls12381 fuzzers (#30296)
The [kilic](https://github.com/kilic/bls12-381) bls12381 implementation has been archived. It shouldn't be necessary to include it as a fuzzing target any longer. This also adds fuzzers for G1/G2 mul that use inputs that are guaranteed to be valid. Previously, we just did random input fuzzing for these precompiles.
Configuration menu - View commit details
-
Copy full SHA for 61ff3a1 - Browse repository at this point
Copy the full SHA 61ff3a1View commit details -
core/txpool, eth/catalyst: clear transaction pool in Rollback (#30534)
This adds an API method `DropTransactions` to legacy pool, blob pool and txpool interface. This method removes all txs currently tracked in the pools. It modifies the simulated beacon to use the new method in `Rollback` which removes previous hacky implementation that also erroneously reset the gas tip to 1 gwei. --------- Co-authored-by: Felix Lange <fjl@twurst.com>
Configuration menu - View commit details
-
Copy full SHA for 581e214 - Browse repository at this point
Copy the full SHA 581e214View commit details -
Configuration menu - View commit details
-
Copy full SHA for e20150f - Browse repository at this point
Copy the full SHA e20150fView commit details -
Configuration menu - View commit details
-
Copy full SHA for c64cf28 - Browse repository at this point
Copy the full SHA c64cf28View commit details -
Configuration menu - View commit details
-
Copy full SHA for 66d8185 - Browse repository at this point
Copy the full SHA 66d8185View commit details -
Configuration menu - View commit details
-
Copy full SHA for aa63692 - Browse repository at this point
Copy the full SHA aa63692View commit details
Commits on Nov 20, 2024
-
core/vm/program: evm bytecode-building utility (#30725)
In many cases, there is a need to create somewhat nontrivial bytecode. A recent example is the verkle statetests, where we want a `CREATE2`- op to create a contract, which can then be invoked, and when invoked does a selfdestruct-to-self. It is overkill to go full solidity, but it is also a bit tricky do assemble this by concatenating bytes. This PR takes an approach that has been used in in goevmlab for several years. Using this utility, the case can be expressed as: ```golang // Some runtime code runtime := program.New().Ops(vm.ADDRESS, vm.SELFDESTRUCT).Bytecode() // A constructor returning the runtime code initcode := program.New().ReturnData(runtime).Bytecode() // A factory invoking the constructor outer := program.New().Create2AndCall(initcode, nil).Bytecode() ``` We have a lot of places in the codebase where we concatenate bytes, cast from `vm.OpCode` . By taking tihs approach instead, thos places can be made a bit more maintainable/robust.
Configuration menu - View commit details
-
Copy full SHA for 6d3d252 - Browse repository at this point
Copy the full SHA 6d3d252View commit details -
core, eth, internal, cmd: rework EVM constructor (#30745)
This pull request refactors the EVM constructor by removing the TxContext parameter. The EVM object is frequently overused. Ideally, only a single EVM instance should be created and reused throughout the entire state transition of a block, with the transaction context switched as needed by calling evm.SetTxContext. Unfortunately, in some parts of the code, the EVM object is repeatedly created, resulting in unnecessary complexity. This pull request is the first step towards gradually improving and simplifying this setup. --------- Co-authored-by: Martin Holst Swende <martin@swende.se>
Configuration menu - View commit details
-
Copy full SHA for e3d61e6 - Browse repository at this point
Copy the full SHA e3d61e6View commit details
Commits on Nov 22, 2024
-
core, eth, internal, miner: remove unnecessary parameters (#30776)
Follow-up to #30745 , this change removes some unnecessary parameters.
Configuration menu - View commit details
-
Copy full SHA for a25be32 - Browse repository at this point
Copy the full SHA a25be32View commit details -
internal/ethapi: remove double map-clone (#30788)
`ActivePrecompiledContracts()` clones the precompiled contract map, thus its callsite does not need to clone it
Configuration menu - View commit details
-
Copy full SHA for 2cd25fd - Browse repository at this point
Copy the full SHA 2cd25fdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 16f2f71 - Browse repository at this point
Copy the full SHA 16f2f71View commit details -
trie: replace custom logic with bytes.HasPrefix (#30771)
in `trie` - Replace custom logic with `bytes.HasPrefix` - Remove unnecessary code in `GetNode`
Configuration menu - View commit details
-
Copy full SHA for 6eeff3e - Browse repository at this point
Copy the full SHA 6eeff3eView commit details -
core, triedb: remove destruct flag in state snapshot (#30752)
This pull request removes the destruct flag from the state snapshot to simplify the code. Previously, this flag indicated that an account was removed during a state transition, making all associated storage slots inaccessible. Because storage deletion can involve a large number of slots, the actual deletion is deferred until the end of the process, where it is handled in batches. With the deprecation of self-destruct in the Cancun fork, storage deletions are no longer expected. Historically, the largest storage deletion event in Ethereum was around 15 megabytes—manageable in memory. In this pull request, the single destruct flag is replaced by a set of deletion markers for individual storage slots. Each deleted storage slot will now appear in the Storage set with a nil value. This change will simplify a lot logics, such as storage accessing, storage flushing, storage iteration and so on.
Configuration menu - View commit details
-
Copy full SHA for 6485d5e - Browse repository at this point
Copy the full SHA 6485d5eView commit details
Commits on Nov 24, 2024
-
internal/flags: fix "flag redefined" bug for alias on custom flags (#…
…30796) This change fixes a bug on the `DirectoryFlag` and the `BigFlag`, which would trigger a `panic` with the message "flag redefined" in case an alias was added to such a flag.
Configuration menu - View commit details
-
Copy full SHA for 5e1a39d - Browse repository at this point
Copy the full SHA 5e1a39dView commit details
Commits on Nov 25, 2024
-
Configuration menu - View commit details
-
Copy full SHA for ab4a1cc - Browse repository at this point
Copy the full SHA ab4a1ccView commit details -
eth/tracers/logger: improve markdown logger (#30805)
This PR improves the output of the markdown logger a bit. - Remove `RStack` field, - Move `Stack` last, since it may have very large vertical expansion - Make the pre- and post-exec metadata structured into a bullet-list
Configuration menu - View commit details
-
Copy full SHA for 02159d5 - Browse repository at this point
Copy the full SHA 02159d5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 19fa71b - Browse repository at this point
Copy the full SHA 19fa71bView commit details -
accounts/abi: fix MakeTopics mutation of big.Int inputs (#30785)
#28764 updated `func MakeTopics` to support negative `*big.Int`s. However, it also changed the behavior of the function from just _reading_ the input `*big.Int` via `Bytes()`, to leveraging `big.U256Bytes` which is documented as being _destructive_: This change updates `MakeTopics` to not mutate the original, and also applies the same change in signer/core/apitypes.
Configuration menu - View commit details
-
Copy full SHA for 3c754e2 - Browse repository at this point
Copy the full SHA 3c754e2View commit details -
core/state/snapshot: simplify snapshot rebuild (#30772)
This PR is purely for improved readability; I was doing work involving the file and think this may help others who are trying to understand what's going on. 1. `snapshot.Tree.Rebuild()` now returns a function that blocks until regeneration is complete, allowing `Tree.waitBuild()` to be removed entirely as all it did was search for the `done` channel behind this new function. 2. Its usage inside `New()` is also simplified by (a) only waiting if `!AsyncBuild`; and (b) avoiding the double negative of `if !NoBuild`. --------- Co-authored-by: Martin HS <martin@swende.se>
Configuration menu - View commit details
-
Copy full SHA for 2380012 - Browse repository at this point
Copy the full SHA 2380012View commit details
Commits on Nov 26, 2024
-
eth/ethconfig: improve error message if TTD missing (#30807)
This updates the message you get when trying to initialize Geth with genesis.json that doesn't have `terminalTotalDifficulty`. The previous message was a bit obscure, I had to check the code to find out what the problem was.
Configuration menu - View commit details
-
Copy full SHA for b4d99e3 - Browse repository at this point
Copy the full SHA b4d99e3View commit details -
core/tracing: add GetCodeHash to StateDB (#30784)
This PR extends the tracing.StateDB interface by adding a GetCodeHash function.
Configuration menu - View commit details
-
Copy full SHA for d7e7b54 - Browse repository at this point
Copy the full SHA d7e7b54View commit details -
Revert "core/state/snapshot: simplify snapshot rebuild (#30772)" (#30810
) This reverts commit 2380012. The original pull request introduces a bug and some flaky tests are detected because of this flaw. ``` --- FAIL: TestRecoverSnapshotFromWipingCrash (0.27s) blockchain_snapshot_test.go:158: The disk layer is not integrated snapshot is not constructed {"pc":0,"op":88,"gas":"0x7148","gasCost":"0x2","memSize":0,"stack":[],"depth":1,"refund":0,"opName":"PC"} {"pc":1,"op":255,"gas":"0x7146","gasCost":"0x1db0","memSize":0,"stack":["0x0"],"depth":1,"refund":0,"opName":"SELFDESTRUCT"} {"output":"","gasUsed":"0x0"} {"output":"","gasUsed":"0x1db2"} {"pc":0,"op":116,"gas":"0x13498","gasCost":"0x3","memSize":0,"stack":[],"depth":1,"refund":0,"opName":"PUSH21"} ``` Before the original PR, the snapshot would block the function until the disk layer was fully generated under the following conditions: (a) explicitly required by users with `AsyncBuild = false`. (b) the snapshot was being fully rebuilt or *the disk layer generation had resumed*. Unfortunately, with the changes introduced in that PR, the snapshot no longer waits for disk layer generation to complete if the generation is resumed. It brings lots of uncertainty and breaks this tiny debug feature.
Configuration menu - View commit details
-
Copy full SHA for a11b4be - Browse repository at this point
Copy the full SHA a11b4beView commit details -
cmd/evm: don't reuse state between iterations, show errors (#30780)
Reusing state between benchmark iterations resulted in inconsistent results across runs, which surfaced in #30778 . If these errors are triggered again, they will now trigger panic. --------- Co-authored-by: Martin HS <martin@swende.se>
Configuration menu - View commit details
-
Copy full SHA for 915248c - Browse repository at this point
Copy the full SHA 915248cView commit details
Commits on Nov 27, 2024
-
core: better document reason for dropping error on return (#30811)
Add a comment for error return of nil Signed-off-by: wangjingcun <wangjingcun@aliyun.com>
Configuration menu - View commit details
-
Copy full SHA for e0deac7 - Browse repository at this point
Copy the full SHA e0deac7View commit details
Commits on Nov 28, 2024
-
core/state/snapshot: handle legacy journal (#30802)
This workaround is meant to minimize the possibility for snapshot generation once the geth node upgrades to new version (specifically #30752 ) In #30752, the journal format in state snapshot is modified by removing the destruct set. Therefore, the existing old format (version = 0) will be discarded and all in-memory layers will be lost. Unfortunately, the lost in-memory layers can't be recovered by some other approaches, and the entire state snapshot will be regenerated (it will last about 2.5 hours). This pull request introduces a workaround to adopt the legacy journal if the destruct set contained is empty. Since self-destruction has been deprecated following the cancun fork, the destruct set is expected to be nil for layers above the fork block. However, an exception occurs during contract deployment: pre-funded accounts may self-destruct, causing accounts with non-zero balances to be removed from the state. For example, https://etherscan.io/tx/0xa087333d83f0cd63b96bdafb686462e1622ce25f40bd499e03efb1051f31fe49). For nodes with a fully synced state, the legacy journal is likely compatible with the updated definition, eliminating the need for regeneration. Unfortunately, nodes performing a full sync of historical chain segments or encountering pre-funded account deletions may face incompatibilities, leading to automatic snapshot regeneration.
Configuration menu - View commit details
-
Copy full SHA for 8c1a36d - Browse repository at this point
Copy the full SHA 8c1a36dView commit details -
trie: combine validation loops in VerifyRangeProof (#30823)
Small optimization. It's guaranteed that `len(keys)` == `len(values)`, so we can combine the checks in a single loop rather than 2 separate loops.
Configuration menu - View commit details
-
Copy full SHA for 2406305 - Browse repository at this point
Copy the full SHA 2406305View commit details -
all: exclude empty outputs in requests commitment (#30670)
Implements changes from these spec PRs: - ethereum/EIPs#8989 - ethereum/execution-apis#599
Configuration menu - View commit details
-
Copy full SHA for db8eed8 - Browse repository at this point
Copy the full SHA db8eed8View commit details -
cmd/bootnode: remove bootnode utility (#30813)
Since we don't really support custom networks anymore, we don't need the bootnode utility. In case a discovery-only node is wanted, it can still be run using cmd/devp2p.
Configuration menu - View commit details
-
Copy full SHA for 53f66c1 - Browse repository at this point
Copy the full SHA 53f66c1View commit details -
core/types: add length check in CalcRequestsHash (#30829)
The existing implementation is correct when building and verifying blocks, since we will only collect non-empty requests into the block requests list. But it isn't correct for cases where a requests list containing empty items is sent by the consensus layer on the engine API. We want to ensure that empty requests do not cause a difference in validation there, so the commitment computation should explicitly skip them.
Configuration menu - View commit details
-
Copy full SHA for c7a8bce - Browse repository at this point
Copy the full SHA c7a8bceView commit details
Commits on Nov 29, 2024
-
triedb/pathdb: track flat state changes in pathdb (snapshot integrati…
…on pt 2) (#30643) This pull request ports some changes from the main state snapshot integration one, specifically introducing the flat state tracking in pathdb. Note, the tracked flat state changes are only held in memory and won't be persisted in the disk. Meanwhile, the correspoding state retrieval in persistent state is also not supported yet. The states management in disk is more complicated and will be implemented in a separate pull request. Part 1: #30752
Configuration menu - View commit details
-
Copy full SHA for 05148d9 - Browse repository at this point
Copy the full SHA 05148d9View commit details -
core/state: introduce code reader interface (#30816)
This PR introduces a `ContractCodeReader` interface with functions defined: type ContractCodeReader interface { Code(addr common.Address, codeHash common.Hash) ([]byte, error) CodeSize(addr common.Address, codeHash common.Hash) (int, error) } This interface can be implemented in various ways. Although the codebase currently includes only one implementation, additional implementations could be created for different purposes and scenarios, such as a code reader designed for the Verkle tree approach or one that reads code from the witness. *Notably, this interface modifies the function’s semantics. If the contract code is not found, no error will be returned. An error should only be returned in the event of an unexpected issue, primarily for future implementations.* The original state.Reader interface is extended with ContractCodeReader methods, it gives us more flexibility to manipulate the reader with additional logic on top, e.g. Hooks. type Reader interface { ContractCodeReader StateReader } --------- Co-authored-by: Felix Lange <fjl@twurst.com>
Configuration menu - View commit details
-
Copy full SHA for 03c37cd - Browse repository at this point
Copy the full SHA 03c37cdView commit details -
core: switch EVM tx context in ApplyMessage (#30809)
This change relocates the EVM tx context switching to the ApplyMessage function. With this change, we can remove a lot of EVM.SetTxContext calls before message execution. ### Tracing API changes - This PR replaces the `GasPrice` field of the `VMContext` struct with `BaseFee`. Users may instead take the effective gas price from `tx.EffectiveGasTipValue(env.BaseFee)`. --------- Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for a793bc7 - Browse repository at this point
Copy the full SHA a793bc7View commit details -
eth/tracers: fix state hooks in API (#30830)
When a tx/block was being traced through the API the state hooks weren't being called as they should. This is due to #30745 moving the hooked statedb one level up in the state processor. This PR fixes that. --------- Co-authored-by: Martin HS <martin@swende.se> Co-authored-by: Gary Rong <garyrong0905@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for ce8cec0 - Browse repository at this point
Copy the full SHA ce8cec0View commit details
Commits on Dec 2, 2024
-
cmd/evm: improve block/state test runner (#30633)
* unify `staterunner` and `blockrunner` CLI flags, especially around tracing * added support for struct logger or json logging (although having issue #30658) * new --cross-check flag to validate the stateless witness collection / execution matches stateful * adds support for tracing the stateless execution when a tracer is set (to more easily debug differences) * --human for more readable test summary * directory or file input, so if you pass tests/spec-tests/fixtures/blockchain_tests it will execute all blockchain tests
Configuration menu - View commit details
-
Copy full SHA for 5347280 - Browse repository at this point
Copy the full SHA 5347280View commit details -
fuzzing: fix oss-fuzz fuzzer (#30845)
The fuzzer added recenly to fuzz the eth handler doesn't build on oss-fuzz, because it also has dependencies in the peer_test.go. This change fixes it, I hope, by adding that file also for preprocessing.
Configuration menu - View commit details
-
Copy full SHA for 9848e9b - Browse repository at this point
Copy the full SHA 9848e9bView commit details -
internal/debug: rename --trace to --go-execution-trace (#30846)
This flag is very rarely needed, so it's OK for it to have a verbose name. The name --trace also conflicts with the concept of EVM tracing, which is much more heavily used.
Configuration menu - View commit details
-
Copy full SHA for ae5a16f - Browse repository at this point
Copy the full SHA ae5a16fView commit details
Commits on Dec 3, 2024
-
eth/downloader: move SyncMode to package eth/ethconfig (#30847)
Lots of packages depend on eth/downloader just for the SyncMode type. Since we have a dedicated package for eth protocol configuration, it makes more sense to define SyncMode there, turning eth/downloader into more of a leaf package.
Configuration menu - View commit details
-
Copy full SHA for 4afab7e - Browse repository at this point
Copy the full SHA 4afab7eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 84cabb5 - Browse repository at this point
Copy the full SHA 84cabb5View commit details