-
Notifications
You must be signed in to change notification settings - Fork 47
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
Merge upstream op-geth v1.101308.2 #83
Conversation
This change enhances the stacktrie constructor by introducing an option struct. It also simplifies the `Hash` and `Commit` operations, getting rid of the special handling round root node.
…son (#28348) Co-authored-by: lightclient <lightclient@protonmail.com>
…ific block hash (#28084) * api/bind: Add CallOpts.BlockHash to allow calling contracts at a specific block hash. * ethclient: Add BalanceAtHash, NonceAtHash and StorageAtHash functions
This change modifies the fuzzers to use the native golang fuzzing framework instead of go-fuzz
…(#28381) This change to fixes a compilation-flaw on master, by putting architecture-specific functions behind corresponding build tags.
This change fixes a memory leak, when running either state-tests or blockchain-tests, we allocate a `1MB` fastcache during snapshot generation. `fastcache` is a bit special, and requires a `Reset()` (it has it's own memory allocator). The `1MB` was hidden [here](https://github.com/ethereum/go-ethereum/blob/master/tests/state_test_util.go#L333) and [here](https://github.com/ethereum/go-ethereum/blob/master/tests/block_test_util.go#L146) respectively.
Changes the trusted_setup to the one created during the kzg-ceremony. The trusted setup file can be found in the consensus specs: https://github.com/ethereum/consensus-specs/blob/dev/presets/mainnet/trusted_setups/trusted_setup_4096.json --------- Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
…ds (#28359) A goroutine is used to manage the lifetime of subscriptions managed by resubscriptions. When the subscription ends with no error, the resub goroutine ends as well. However, the resub goroutine needs to live long enough to read from the unsub channel. Otheriwse, an Unsubscribe call deadlocks when writing to the unsub channel. This is fixed by adding a buffer to the unsub channel.
Fixes a bug where the ethstats omits to report full block contents. This bug was a side-effect of ethereum/go-ethereum#26777, where `CurrentBlock` was changed to return a header instead of a block, leading to a failed type assertion.
…198) This PR adds more error message for debugging purpose.
As per discussion in ethereum/execution-apis#475
…in stacktrie (#28327) * core, eth, trie: filter out boundary nodes in stacktrie * eth/protocol/snap: add comments * Update trie/stacktrie.go Co-authored-by: Martin Holst Swende <martin@swende.se> * eth, trie: remove onBoundary callback * eth/protocols/snap: keep complete boundary nodes * eth/protocols/snap: skip healing if the storage trie is already complete * eth, trie: add more metrics * eth, trie: address comment --------- Co-authored-by: Martin Holst Swende <martin@swende.se>
This change closes ethereum/go-ethereum#27730 . By using an iterator instead of a slice of transactions, we can better handle the case when an individual transaction (within an otherwise well-formed RLP-list) cannot be decoded.
This PR removes panics from stacktrie (mostly), and makes the Update return errors instead. While adding tests for this, I also found that one case of possible corruption was not caught, which is now fixed.
As per discussion in ethereum/execution-apis#475 Signed-off-by: jsvisa <delweng@gmail.com>
…28358) The String() version of BlockNumberOrHash uses decimal for all block numbers, including negative ones used to indicate labels. Switch to using BlockNumber.String() which encodes it correctly for use in the JSON-RPC API.
This PR is a bit in preparation for the slog work in #28187 . Our current test re logging mostly test the internals, but we have no real end-to-end test of the logging output. This PR introduces a simple reexec-based log tester. This also relies upon a special mode in geth, which can be made to eject a set of predefined log messages (only available if the build-tag `integrationtests` is used e.g. go run --tags=integrationtests ./cmd/geth --log.format terminal logtest While working on this, I also noticed a quirk in the setup: when geth was configured to use a file output, then two separate handlers were used (one handler for the file, one handler for the console). Using two separate handlers means that two formatters are used, thus the formatting of any/all records happened twice. This PR changes the mechanism to use two separate io.Writers instead, which is both more optimal and fixes a bug which occurs due to a global statefulness in the formatter.
Signed-off-by: jsvisa <delweng@gmail.com>
* core, cmd/geth: add --override.* flags to geth init * also apply overrides before genesis commit with new block * review feedback
--------- Signed-off-by: jsvisa <delweng@gmail.com>
Merge upstream geth v1.13.6...8
…lease Update superchain-reg dependency for OP Sepolia Ecotone activation
…ction Snap Sync: DepositNonce Data Correction
ci: update image to default
Co-authored-by: Adrian Sutton <adrian@oplabs.co>
core/vm: Allow precompiles to be overriden
…lease Prepare optimistic Ecotone Mainnet release
* Skip genesis state check for transitionned networks * Update core/genesis.go Co-authored-by: Sebastian Stammler <seb@oplabs.co> --------- Co-authored-by: Sebastian Stammler <seb@oplabs.co>
…date-mar-14 Update Ecotone mainnet activation to Mar 14 00:00:01 UTC
# Conflicts: # cmd/geth/main.go # cmd/utils/flags.go # core/vm/interpreter.go # eth/backend.go # eth/ethconfig/config.go # go.mod # go.sum # miner/payload_building.go # miner/payload_building_test.go # miner/worker.go # params/config.go # trie/database.go
@@ -25,7 +25,7 @@ type OpCode byte | |||
|
|||
// IsPush specifies if an opcode is a PUSH opcode. | |||
func (op OpCode) IsPush() bool { | |||
return PUSH1 <= op && op <= PUSH32 | |||
return PUSH0 <= op && op <= PUSH32 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe there is one PR missed from go-ethereum: ethereum/go-ethereum@6f929a0.
Even the upstream op-get missed it.
And it may cause one issue in disassembler when processing PUSH0, because the method IsPush() is changed here
Close this PR and use #87 instead. This PR was initiated from my own repository and it is not convenient for others to submit modifications to it. |
Description
Merge upstream op-geth v1.101308.2
Rationale
To import bugsfix/improvements/features from upstream op-geth
Example
n/a
Changes
changes from geth
v1.13.4 -> v1.13.5
changes from op-geth
v1.101304.1 ➝ v1.101308.2
Conflicts:
# cmd/geth/main.go
# cmd/utils/flags.go
# core/vm/interpreter.go
# eth/backend.go
# eth/ethconfig/config.go
# go.mod
# go.sum
# miner/payload_building.go
# miner/payload_building_test.go
# miner/worker.go
# params/config.go
# trie/database.go