Skip to content
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 geth-v.14.0 #234

Merged
merged 217 commits into from
Jan 10, 2025
Merged

Merge Upstream geth-v.14.0 #234

merged 217 commits into from
Jan 10, 2025

Conversation

noslav
Copy link
Member

@noslav noslav commented Jan 10, 2025

Merging geth v1.14 before its too late.

karalabe and others added 30 commits February 27, 2024 13:53
…106)

* core, triedb/pathdb: calculate the size for batch pre-allocation

* triedb/pathdb: address comment
* triedb/pathdb: fix panic in recoverable

* triedb/pathdb: add todo

* triedb/pathdb: rename

* triedb/pathdb: rename
* cmd: parseDumpConfig should not return closed db

* fix lint
* cmd/utils, core/rawdb, triedb/pathdb: flip hash to path scheme

* graphql: run tests in hash mode as the chain maker needs it
* eth/catalyst: update simulated beacon for cancun

* validate blob hashes

* compute hashes from commitment

* fix beacon root and payload version

* check commitment conversion

* fix random attr

* flip dev to cancun
…(#29034)

* eth: make transaction propagation paths in the network deterministic

* eth: avoid potential division by 0

* eth: make tx propagation dependent on local node id too

* eth: fix review comments
It got broken in some update of the cli library, and thus bootnodes weren't 
being configured automatically for some of the discovery commands.
* core: use finalized block as the chain freeze indicator

* core/rawdb: use max(finality, head-90k) as chain freezing threshold

* core/rawdb: fix tests

* core/rawdb: fix lint

* core/rawdb: address comments from peter

* core/rawdb: fix typo
The prestateTracer was reporting an inaccurate nonce for the contract being created in
post EIP-158 transactions. Correct nonce is 0, due to the issue nonce was being reported as 1.
* core/types: reuse signtx

* core/types: inline signtx
initialize gasRemaining with = instead of +=
As SELF-DESTRUCT opcode is disabled in the cancun fork(unless the
account is created within the same transaction, nothing to delete
in this case). The account will only be deleted in the following
cases:

- The account is created within the same transaction. In this case
the original storage was empty.

- The account is empty(zero nonce, zero balance, zero code) and
is touched within the transaction. Fortunately this kind of accounts
are not-existent on ethereum-mainnet.

All in all, after cancun, we are pretty sure there is no large contract
deletion and we don't need this mechanism for oom protection.
* accounts/usbwallet: use updated hid (only) library

* deps: update karalabe/hid
* internal/jsre: format receipt.{blobGasPrice,blobGasUsed} to int

Signed-off-by: jsvisa <[email protected]>

* internal/jsre: format tx.maxFeePerBlobGas to int

Signed-off-by: jsvisa <[email protected]>

* internal/jsre: format blob* in block

Signed-off-by: jsvisa <[email protected]>

---------

Signed-off-by: jsvisa <[email protected]>
ucwong and others added 28 commits April 18, 2024 08:21
eth/ethconfig/gen_config.go : go generate fix
enables the bls-contracts on the "Prague" config, so that the testing-team can activate them to make tests.
This change removes support for subscribing to pending logs. 

"Pending logs" were always an odd feature, because it can never be fully reliable. When support for it was added many years ago, the intention was for this to be used by wallet apps to show the 'potential future token balance' of accounts, i.e. as a way of notifying the user of incoming transfers before they were mined. In order to generate the pending logs, the node must pick a subset of all public mempool transactions, execute them in the EVM, and then dispatch the resulting logs to API consumers.
This change fixes three flaky tests `TestEth2AssembleBlock`,`TestEth2NewBlock`, `TestEth2PrepareAndGetPayload` and `TestDisable`.

---------

Co-authored-by: Gary Rong <[email protected]>
* core: fix typo

* rpc: fix typo

* snap: fix typo

* trie: fix typo

* main: fix typo

* abi: fix typo

* main: fix field comment for basicOp
This PR adds an extra mechanism to sync.HeadSync that tries to retrieve the latest finality update from every server each time it sends an optimistic update in a new epoch (unless we already have a validated finality update attested in the same epoch). 

Note that this is not necessary and does not happen if the new finality update is delivered before the optimistic update. The spec only mandates light_client_finality_update events when a new epoch is finalized. If the chain does not finalize for a while then we might need an explicit request that returns a finality proof that proves the same finality epoch from the latest attested epoch.
core/vm: fix prague contracts
…29573)

renames the yaml config field VMTraceConfig to VMTraceJsonConfig, in order to be consistent with the renaming of the CLI flag.
The OnClose trace hook is being triggered on blockchain Stop, so as tracers can release any resources.
The beacon root when applied in `state_processor.go` is performed right before executing transaction. That means that contract reliying on this value would query the same value found in the block header.

In that spirit, it means that any tracing/operation relying on state data which touches transaction must have updated the beacon root before any transaction processing.
… (#29358)

This change adds a testcase and fixes a corner-case in the skeleton sync.

With this change, when doing the skeleton cleanup, we check if the filled header is acually within the range of what we were meant to backfill. If not, it means the backfill was a noop (possibly because we started and stopped it so quickly that it didn't have time to do any meaningful work). In that case, just don't clean up anything.

---------

Co-authored-by: Péter Szilágyi <[email protected]>
Copy link

codecov bot commented Jan 10, 2025

Codecov Report

Attention: Patch coverage is 44.66780% with 1624 lines in your changes missing coverage. Please review.

Project coverage is 52.32%. Comparing base (6aee7ba) to head (c6d5fbe).
Report is 223 commits behind head on develop.

Files with missing lines Patch % Lines
beacon/light/api/light_api.go 0.00% 326 Missing ⚠️
cmd/geth/dbcmd.go 0.00% 97 Missing ⚠️
beacon/blsync/engineclient.go 0.00% 80 Missing ⚠️
core/vm/evm.go 7.89% 66 Missing and 4 partials ⚠️
beacon/light/head_tracker.go 0.00% 63 Missing ⚠️
beacon/light/sync/update_sync.go 67.52% 59 Missing and 4 partials ⚠️
core/blockchain.go 68.94% 43 Missing and 16 partials ⚠️
beacon/light/api/api_server.go 0.00% 58 Missing ⚠️
cmd/blsync/main.go 0.00% 52 Missing ⚠️
beacon/blsync/client.go 0.00% 51 Missing ⚠️
... and 69 more
Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #234      +/-   ##
===========================================
- Coverage    53.72%   52.32%   -1.40%     
===========================================
  Files          711      715       +4     
  Lines        91105    89907    -1198     
===========================================
- Hits         48948    47047    -1901     
- Misses       37931    38676     +745     
+ Partials      4226     4184      -42     
Files with missing lines Coverage Δ
accounts/abi/argument.go 85.60% <ø> (ø)
accounts/abi/reflect.go 90.55% <ø> (ø)
accounts/abi/type.go 86.30% <ø> (+0.78%) ⬆️
accounts/accounts.go 100.00% <100.00%> (ø)
accounts/keystore/account_cache.go 89.57% <ø> (+5.52%) ⬆️
accounts/keystore/keystore.go 76.95% <100.00%> (+0.68%) ⬆️
accounts/usbwallet/ledger.go 0.00% <ø> (ø)
accounts/usbwallet/wallet.go 0.00% <ø> (ø)
beacon/engine/types.go 79.61% <100.00%> (-0.58%) ⬇️
cmd/devp2p/dns_route53.go 48.18% <ø> (ø)
... and 146 more

... and 124 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2435e7c...c6d5fbe. Read the comment docs.

@noslav noslav merged commit 1ea019d into develop Jan 10, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.