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

Upstream merge 1.14.6 #1300

Merged
merged 616 commits into from
Oct 1, 2024
Merged

Upstream merge 1.14.6 #1300

merged 616 commits into from
Oct 1, 2024

Conversation

anshalshukla
Copy link
Contributor

@anshalshukla anshalshukla commented Aug 6, 2024

Description

Notion Doc

Changes

  • Bugfix (non-breaking change that solves an issue)
  • Hotfix (change that solves an urgent issue, and requires immediate attention)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (change that is not backwards-compatible and/or changes current functionality)
  • Changes only for a subset of nodes

Breaking changes

Please complete this section if any breaking changes have been made, otherwise delete it

Nodes audience

In case this PR includes changes that must be applied only to a subset of nodes, please specify how you handled it (e.g. by adding a flag with a default value...)

Checklist

  • I have added at least 2 reviewer or the whole pos-v1 team
  • I have added sufficient documentation in code
  • I will be resolving comments - if any - by pushing each fix in a separate commit and linking the commit hash in the comment reply
  • Created a task in Jira and informed the team for implementation in Erigon client (if applicable)
  • Includes RPC methods changes, and the Notion documentation has been updated

Cross repository changes

  • This PR requires changes to heimdall
    • In case link the PR here:
  • This PR requires changes to matic-cli
    • In case link the PR here:

Testing

  • I have added unit tests
  • I have added tests to CI
  • I have tested this code manually on local environment
  • I have tested this code manually on remote devnet using express-cli
  • I have tested this code manually on mumbai/amoy
  • I have created new e2e tests into express-cli

Manual tests

Please complete this section with the steps you performed if you ran manual tests for this functionality, otherwise delete it

Additional comments

Please post additional comments in this section if you have them, otherwise delete it

rjl493456442 and others added 30 commits April 22, 2024 20:00
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]>
* core/state, tests: remove account reset operation

* core/state, core/vm: implement createcontract journal event

* core/state: make createcontract not emit dirtied account, unskip tests

* core/state: add createcontract to journal fuzzing

* core/state: fix journal

* core/state: address comments

* core/state: remove useless code

---------

Co-authored-by: Gary Rong <[email protected]>
trie: Preallocate capacity for fields slice
Currently our state journal tracks each storage update to a contract, having the ability to revert those changes to the previously set value.

For the very first modification however, it behaves a bit wonky. Reverting the update doesn't actually remove the dirty-ness of the slot, rather leaves it as "change this slot to it's original value". This can cause issues down the line with for example write witnesses needing to gather an unneeded proof.

This PR modifies the storageChange journal entry to not only track the previous value of a slot, but also whether there was any previous value at all set in the current execution context. In essence, the PR changes the semantic of storageChange so it does not simply track storage changes, rather it tracks dirty storage changes, an important distinction for being able to cleanly revert the journal item.
…627)

This PR fixes some flaws with the existing tests.

The randomized testing (TestSnapshotRandom) executes a series of steps which modify the state and create journal-events. Later on, we compare the forward-going-states against the backwards-unrolling-journal-states, and check that they are identical.

The "identical" check is performed using various accessors. It turned out that we failed to check some things: 
- the accesslist contents
- the transient storage contents
- the 'newContract' flag
- the dirty storage map

This change adds these new checks
* build: build all the builders to build all the builders

* build: tweak the indexes a bit to make them consistent
* build: drop trusty from PPA builds, EOL and incompatible

* build: add Ubuntu Noble PPA build target
Define these on a value receiever so that nil is shown differently.
@marcello33 marcello33 force-pushed the upstream_merge_1.14.6 branch from 200f37c to fe5d813 Compare September 10, 2024 13:09
@cffls cffls force-pushed the upstream_merge_1.14.6 branch 3 times, most recently from 35d4ccd to ca3d7ee Compare September 21, 2024 00:29
@cffls cffls force-pushed the upstream_merge_1.14.6 branch from 9170ac4 to a2dec4b Compare September 21, 2024 02:49
Copy link

codecov bot commented Sep 21, 2024

Codecov Report

Attention: Patch coverage is 32.54929% with 1950 lines in your changes missing coverage. Please review.

Project coverage is 50.38%. Comparing base (3e113ed) to head (396c06d).
Report is 807 commits behind head on develop.

Files with missing lines Patch % Lines
accounts/usbwallet/trezor/messages-common.pb.go 5.27% 430 Missing and 1 partial ⚠️
accounts/usbwallet/trezor/messages-ethereum.pb.go 4.78% 416 Missing and 2 partials ⚠️
beacon/light/api/light_api.go 0.00% 395 Missing ⚠️
beacon/blsync/engineclient.go 0.00% 89 Missing ⚠️
beacon/light/head_tracker.go 0.00% 82 Missing ⚠️
beacon/light/sync/update_sync.go 67.87% 67 Missing and 4 partials ⚠️
beacon/light/api/api_server.go 0.00% 60 Missing ⚠️
beacon/blsync/client.go 0.00% 59 Missing ⚠️
beacon/blsync/config.go 0.00% 50 Missing ⚠️
beacon/light/sync/test_helpers.go 76.35% 25 Missing and 10 partials ⚠️
... and 20 more
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1300      +/-   ##
===========================================
- Coverage    51.44%   50.38%   -1.07%     
===========================================
  Files          794      769      -25     
  Lines       131315   125629    -5686     
===========================================
- Hits         67558    63295    -4263     
+ Misses       59573    58291    -1282     
+ Partials      4184     4043     -141     
Flag Coverage Δ
50.38% <32.54%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@marcello33 marcello33 requested a review from a team September 25, 2024 07:55
@cffls cffls merged commit b8901bc into develop Oct 1, 2024
11 of 13 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.