Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* params: begin v1.13.9 release cycle * core/state: logic equivalence for GetCodeHash (#28733) * tests: add currentExcessBlobGas to state tests (#28735) * accounts,signer: fix typos in comments (#28730) * build: add support for ubuntu 23.10 (mantic minotaur) (#28728) * log: avoid setting default slog logger in init (#28747) slog.SetDefault has undesirable side effects. It also sets the default logger destination, for example. So we should not call it by default in init. * cmd/evm: fix link in README.md (#28755) * core/vm: update comments to match eip number (#28743) * cmd/evm: Fix blob-gas-used on invalid transactions in t8n (#28734) cmd/evm: fixes the blob gas calculation if a transaction is invalid * internal/flags: update copyright year to 2024 (#28760) Co-authored-by: Felix Lange <[email protected]> * ethclient: simplify error handling in TransactionReceipt (#28748) Co-authored-by: Martin HS <[email protected]> Co-authored-by: Felix Lange <[email protected]> * eth/downloader, eth/filters: use defer to call Unsubscribe (#28762) * log: emit error level string as "error", not "eror" (#28774) * eth/filters: fix early Unsubscribe of log events (#28769) * cmd/devp2p/internal/ethtest: fix typos in comments (#28772) * params, core/forkid: schedule cancun fork on goerli (#28719) This PR schedules the cancun fork for the goerli testnet as discussed on ACD. Spec: ethereum/execution-specs#860 We schedule: goerli at 1705473120 * cmd/geth: make it possible to autopilot removedb (#28725) When managing geth, it is sometimes desirable to do a partial wipe; deleting state but retaining freezer data. A partial wipe can be somewhat tricky to accomplish. This change implements the ability to perform partial wipe by making it possible to run geth removedb non-interactive, using command line options instead. * accounts/abi: fix bigInt topic encoding (#28764) * cmd/geth: update log test data (#28780) update logger test data * ethclient/simulated: implement new sim backend (#28202) This is a rewrite of the 'simulated backend', an implementation of the ethclient interfaces which is backed by a simulated blockchain. It was getting annoying to maintain the old version of the simulated backend feature because there was a lot of code duplication with the main client. The new version is built using parts that we already have: an in-memory geth node instance running in developer mode provides the chain, while the Go API is provided by ethclient. A backwards-compatibility wrapper is provided, but the simulated backend has also moved to a more sensible import path: github.com/ethereum/go-ethereum/ethclient/simulated --------- Co-authored-by: Felix Lange <[email protected]> Co-authored-by: Gary Rong <[email protected]> * params: go-ethereum v1.13.9 stable * params: begin v1.13.10 release cycle * version: release v1.13.10 to fix bad tag * params: begin v1.13.11 release cycle * docs: fix badge in README (#28796) * Fix broken badge in README.md Replaced broken Github link with IPFS link for long-term storage. * update go badge Co-authored-by: lightclient <[email protected]> --------- Co-authored-by: lightclient <[email protected]> * eth: minor change of config-accessor (#28782) eth: refactor `GetVM` * cmd: fix typos (#28798) * build: fix typo in comment (#28800) * accounts, ethclient: minor tweaks on the new simulated backend (#28799) * accounts, ethclient: minor tweaks on the new simulated backend * ethclient/simulated: add an initial batch of gas options * accounts, ethclient: remove mandatory gasLimit constructor param * accounts, ethclient: minor option naming tweaks * cmd/geth, internal/debug: get rid of by-default log config (#28801) * cmd/devp2p/internal/ethtest: skip large tx test on github build (#28794) This test was failling consistently on the github 32-bit build probably due to slow IO. Skipping it for that green check. * p2p/dnsdisc: use strings.Cut over strings.IndexByte (#28787) * internal/ethapi: avoid using pending for defaults (#28784) Given the discussions around deprecating pending (see #28623 or ethereum/execution-apis#495), we can move away from using the pending block internally, and use latest instead * core/state: unexport GetOrNewStateObject (#28804) * cmd/rlpdump: add -pos flag, displaying byte positions (#28785) * tests: update reference tests (#28778) Updates the reference tests to the latest version * ethclient: add tests for TransactionInBlock (#28283) Co-authored-by: Felix Lange <[email protected]> * eth: fix potential hang in waitSnapExtension (#28744) This should fix a rare hang in waitSnapExtension during shutdown. * core/txpool/blobpool: fix typos * acounts/usbwallet: fix typo (#28815) acounts:fix typo * tests: more verbosity if block decoding fails (#28814) * tracer: use proper base fee in tests (#28775) In the tracing tests, the base fee was generally set to nil. This commit changes this to pass the proper base instead, and fixes the few tests which become broken by the change. * miner: fix typo in payload_building_test.go (#28825) * internal/ethapi: handle blobs in API methods (#28786) EIP-4844 adds a new transaction type for blobs. Users can submit such transactions via `eth_sendRawTransaction`. In this PR we refrain from adding support to `eth_sendTransaction` and in fact it will fail if the user passes in a blob hash. However since the chain can handle such transactions it makes sense to allow simulating them. E.g. an L2 operator should be able to simulate submitting a rollup blob and updating the L2 state. Most methods that take in a transaction object should recognize blobs. The change boils down to adding `blobVersionedHashes` and `maxFeePerBlobGas` to `TransactionArgs`. In summary: - `eth_sendTransaction`: will fail for blob txes - `eth_signTransaction`: will fail for blob txes The methods that sign txes does not, as of this PR, add support the for new EIP-4844 transaction types. Resuming the summary: - `eth_sendRawTransaction`: can send blob txes - `eth_fillTransaction`: will fill in a blob tx. Note: here we simply fill in normal transaction fields + possibly `maxFeePerBlobGas` when blobs are present. One can imagine a more elaborate set-up where users can submit blobs themselves and we fill in proofs and commitments and such. Left for future PRs if desired. - `eth_call`: can simulate blob messages - `eth_estimateGas`: blobs have no effect here. They have a separate unit of gas which is not tunable in the transaction. * eth/filters: reset filter.begin in BenchmarkFilters (#28830) * crypto/kzg4844: add helpers for versioned blob hashes (#28827) The code to compute a versioned hash was duplicated a couple times, and also had a small issue: if we ever change params.BlobTxHashVersion, it will most likely also cause changes to the actual hash computation. So it's a bit useless to have this constant in params. * ethclient: apply accessList field in toCallArg (#28832) Co-authored-by: Felix Lange <[email protected]> * params, core/forkid: enable cancun on sepolia and holesky (#28834) This change enables Cancun - Sepolia at 1706655072 (Jan 31st, 2024) - Holesky at 1707305664 (Feb 7th, 2024) Specification: ethereum/execution-specs#860 * core, core/rawdb, eth/sync: no tx indexing during snap sync (#28703) This change simplifies the logic for indexing transactions and enhances the UX when transaction is not found by returning more information to users. Transaction indexing is now considered as a part of the initial sync, and `eth.syncing` will thus be `true` if transaction indexing is not yet finished. API consumers can use the syncing status to determine if the node is ready to serve users. * docs: remove reference to being official (#28858) * go.{mod,sum}: upgrade go-ole to support arm64 (#28859) go.{mod,sum}: upgrade go-ole * core: fix genesis setup in benchReadChain (#28856) * all: use uint256 in state (#28598) This change makes use of uin256 to represent balance in state. It touches primarily upon statedb, stateobject and state processing, trying to avoid changes in transaction pools, core types, rpc and tracers. * build: upgrade -dlgo version to Go 1.21.6 (#28836) * core/state/snapshot: use AddHash/ContainHash instead of Hasher interface (#28849) This change switches from using the `Hasher` interface to add/query the bloomfilter to implementing it as methods. This significantly reduces the allocations for Search and Rebloom. * core/vm: fix misleading comment (#28860) fix misleading comment * eth/catalyst: add timestamp checks to fcu and new payload and improve param checks (#28230) This PR introduces a few changes with respect to payload verification in fcu and new payload requests: * First of all, it undoes the `verifyPayloadAttributes(..)` simplification I attempted in #27872. * Adds timestamp validation to fcu payload attributes [as required](https://github.com/ethereum/execution-apis/blob/main/src/engine/cancun.md#specification-1) (section 2) by the Engine API spec. * For the new payload methods, I also update the verification of the executable data. For `newPayloadV2`, it does not currently ensure that cancun values are `nil`. Which could make it possible to submit cancun payloads through it. * On `newPayloadV3` the same types of checks are added. All shanghai and cancun related fields in the executable data must be non-nil, with the addition that the timestamp is _only_ with cancun. * Finally it updates a newly failing catalyst test to call the correct fcu and new payload methods depending on the fork. * core/txpool, eth/catalyst: fix racy simulator due to txpool background reset (#28837) This PR fixes an issues in the new simulated backend. The root cause is the fact that the transaction pool has an internal reset operation that runs on a background thread. When a new transaction is added to the pool via the RPC, the transaction is added to a non-executable queue and will be moved to its final location on a background thread. If the machine is overloaded (or simply due to timing issues), it can happen that the simulated backend will try to produce the next block, whilst the pool has not yet marked the newly added transaction executable. This will cause the block to not contain the transaction. This is an issue because we want determinism from the simulator: add a tx, mine a block. It should be in there. The PR fixes it by adding a Sync function to the txpool, which waits for the current reset operation (if any) to finish, and then runs an entire round of reset on top. The new round is needed because resets are only triggered by new head events, so newly added transactions will not trigger the outer resets that we can wait on. The transaction pool would eventually internally do a reset even on transaction addition, but there's no easy way to wait on that and there's no meaningful reason to bubble that across everything. A clean outer reset will at worse be a small noop goroutine. * core: move tx indexer to its own file (#28857) This change moves all the transaction indexing functions to a separate txindexer.go file and defines a txIndexer structure as a refactoring. * eth/catalyst: prefix payload id with version (#28246) GetPayloadVX should only return payloads which match its version. GetPayloadV2 is a special snowflake that supports v1 and v2 payloads. This change uses a a version-specific prefix within in the payload id, basically a namespace for the version number. * ethclient: fix flaky test (#28864) Fix flaky test due to incomplete transaction indexing * params: go-ethereum v1.13.11 stable * go get github.com/ethereum-optimism/superchain-registry/superchain@52d3dbd1605dd43f419e838584abd0ec163d462b * params: begin v1.13.9 release cycle * core/state: logic equivalence for GetCodeHash (#28733) * tests: add currentExcessBlobGas to state tests (#28735) * accounts,signer: fix typos in comments (#28730) * build: add support for ubuntu 23.10 (mantic minotaur) (#28728) * log: avoid setting default slog logger in init (#28747) slog.SetDefault has undesirable side effects. It also sets the default logger destination, for example. So we should not call it by default in init. * cmd/evm: fix link in README.md (#28755) * core/vm: update comments to match eip number (#28743) * cmd/evm: Fix blob-gas-used on invalid transactions in t8n (#28734) cmd/evm: fixes the blob gas calculation if a transaction is invalid * internal/flags: update copyright year to 2024 (#28760) Co-authored-by: Felix Lange <[email protected]> * ethclient: simplify error handling in TransactionReceipt (#28748) Co-authored-by: Martin HS <[email protected]> Co-authored-by: Felix Lange <[email protected]> * eth/downloader, eth/filters: use defer to call Unsubscribe (#28762) * log: emit error level string as "error", not "eror" (#28774) * eth/filters: fix early Unsubscribe of log events (#28769) * cmd/devp2p/internal/ethtest: fix typos in comments (#28772) * params, core/forkid: schedule cancun fork on goerli (#28719) This PR schedules the cancun fork for the goerli testnet as discussed on ACD. Spec: ethereum/execution-specs#860 We schedule: goerli at 1705473120 * cmd/geth: make it possible to autopilot removedb (#28725) When managing geth, it is sometimes desirable to do a partial wipe; deleting state but retaining freezer data. A partial wipe can be somewhat tricky to accomplish. This change implements the ability to perform partial wipe by making it possible to run geth removedb non-interactive, using command line options instead. * accounts/abi: fix bigInt topic encoding (#28764) * cmd/geth: update log test data (#28780) update logger test data * ethclient/simulated: implement new sim backend (#28202) This is a rewrite of the 'simulated backend', an implementation of the ethclient interfaces which is backed by a simulated blockchain. It was getting annoying to maintain the old version of the simulated backend feature because there was a lot of code duplication with the main client. The new version is built using parts that we already have: an in-memory geth node instance running in developer mode provides the chain, while the Go API is provided by ethclient. A backwards-compatibility wrapper is provided, but the simulated backend has also moved to a more sensible import path: github.com/ethereum/go-ethereum/ethclient/simulated --------- Co-authored-by: Felix Lange <[email protected]> Co-authored-by: Gary Rong <[email protected]> * params: go-ethereum v1.13.9 stable * add ability to create simulated backend from ethconfig update fork.yaml * Revert "Merge upstream geth v1.13.9 into op-geth" * remove duplicate file reference which breaks forkdiff (#285) * fix JSON logger to properly handle debug & lower log level * core/vm, params: ensure order of forks, prevent overflow (#29023) This PR fixes an overflow which can could happen if inconsistent blockchain rules were configured. Additionally, it tries to prevent such inconsistencies from occurring by making sure that merge cannot be enabled unless previous fork(s) are also enabled. --------- Co-authored-by: Martin Holst Swende <[email protected]> Co-authored-by: cygaar <[email protected]> Co-authored-by: Mario Vega <[email protected]> Co-authored-by: Taeguk Kwon <[email protected]> Co-authored-by: Felix Lange <[email protected]> Co-authored-by: ddl <[email protected]> Co-authored-by: Darioush Jalali <[email protected]> Co-authored-by: Marius Kjærstad <[email protected]> Co-authored-by: Rossen Krastev <[email protected]> Co-authored-by: ucwong <[email protected]> Co-authored-by: jwasinger <[email protected]> Co-authored-by: vuittont60 <[email protected]> Co-authored-by: Marius van der Wijden <[email protected]> Co-authored-by: rjl493456442 <[email protected]> Co-authored-by: Péter Szilágyi <[email protected]> Co-authored-by: drstevenbrule <[email protected]> Co-authored-by: lightclient <[email protected]> Co-authored-by: HAOYUatHZ <[email protected]> Co-authored-by: Sina Mahmoodi <[email protected]> Co-authored-by: hyunchel <[email protected]> Co-authored-by: 牛晓婕 <[email protected]> Co-authored-by: Alfie John <[email protected]> Co-authored-by: alex <[email protected]> Co-authored-by: Paul Lange <[email protected]> Co-authored-by: Thabokani <[email protected]> Co-authored-by: colin <[email protected]> Co-authored-by: Guillaume Ballet <[email protected]> Co-authored-by: trocher <[email protected]> Co-authored-by: geoknee <[email protected]> Co-authored-by: Sebastian Stammler <[email protected]> Co-authored-by: Roberto Bayardo <[email protected]> Co-authored-by: Joshua Gutow <[email protected]> Co-authored-by: Joshua Gutow <[email protected]> Co-authored-by: protolambda <[email protected]>
- Loading branch information