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

Ensure TransientStorage cleanups after Tx-level contract creation #3625

Merged
merged 4 commits into from
Sep 2, 2024

Conversation

jochem-brouwer
Copy link
Member

Fixes a Transient Storage EIP 1153 bug related to not clearing Transient Storage after creating a contract at tx-level. Thanks @yann300 😄

Copy link
Contributor

@acolytec3 acolytec3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@acolytec3 acolytec3 merged commit b91b545 into master Sep 2, 2024
38 checks passed
@acolytec3 acolytec3 deleted the fix-cleanup-tstore branch September 2, 2024 17:30
@holgerd77
Copy link
Member

This should also be back-ported to the maintenance-v8 branch (simple cherry-pick).

holgerd77 pushed a commit that referenced this pull request Sep 9, 2024
)

* evm: fix bug not clearing transient storage on tx-level create

* evm: add tests for tstore cleanup

* make cspell happy

---------

Co-authored-by: acolytec3 <[email protected]>
holgerd77 added a commit that referenced this pull request Sep 9, 2024
…ng Bug) (#3643)

* Ensure TransientStorage cleanups after Tx-level contract creation (#3625)

* evm: fix bug not clearing transient storage on tx-level create

* evm: add tests for tstore cleanup

* make cspell happy

---------

Co-authored-by: acolytec3 <[email protected]>

* Add CHANGELOG entries, bump versions, update upstream dependency versions (EVM/VM)

* Rebuild package-lock.json

* Speedup CI with cache (#3592)

* Call `dpt.destroy` inside rlpx

* Turn off github actions

* Add wtfnode

* shorten timeout on retry

* Ensure peer disconnects

* Slight disconnect tweak

* Ensure peer refreshIntervals are cleared

* clear interval in peer disconnect

* Add client wtfnode ci run

* run block and devp2p

* cache build outputs

* only run block coverage

* cache everything

* Adjust working directory

* fix working dir

* add submodules to block

* Add separate lint check

* add vm

* set correct job ordering

* Add restore step to vm:blockchain

* Add workflow dependency

* add jobs

* call block in devp2p

* Need build

* Try reusable workflows

* remove build dep

* update concurrency

* add ethash and common

* add trie and build

* Up setup-node to v3

* Update lockfile

* pass cache-key to block

* better hash key

* Cache key redux

* correct cache key usage

* remove package lock

* fix inputs

* fix syntax

* Remove echo

* add cachekey

* Add all package test suites to build script

* TYPO

* run ci if cache miss

* Add fake key to dispatch

* make cache key optional

* remove devp2p changes

* add additional packages

* add correct triggers

* update node to 20

* Add install if...

* just build block

* run build on node 20

* add default back

* remove conditional install step

* update action versions and package lock

* run install in correct directory

* update package-lock

* echo some stuff

* More tweaks

* try again

* reference correct output

* use common instead

* try skipping checkout

* fix util reference

* restore first

* restore first

* add checkout back

* add separate build step

* clarify naming on build vs dep cache

* update build cache key

* update build cache

* fix build key

* turn block on

* add inputs to block

* fix more things

* remove build cache step

* update package lock

* remove ignore scripts

* cache everything

* Always build and cache

* more experiments

* always run npm ci

* update to latest ver

* clean up client and vm jobs

* more cleanup

* remove multi-node strategy

* add correct concurrency groups

* fix concurrency deadlock

* remove recursive checkout from test jobs

* Fix devp2p

* remove retry on devp2p

* set working directory

* Move lint to separate job

* temp: test block test fail without changing pkg-lock

* update build.yml

* update build.yml

* test

* test

* restore correct code (this should pass block test now)

* use run_id

* test ethereum-tests with cache

* this should install the ethereum-tests in block since the cache will not be hit

* test 2

* test

* test ethereum-test failer

* restore

* test

* install ethereum-tests

* remove ethereum tetss from benchmark

* Add valid submodule cache key

* echo key

* add shell param

* echo that key

* add quotes

* add quotes

* fix the key

* make submodules recursive

* restore ethereum-tests

* fix cache key references

* make cache fail on miss

* update triggers and vm-build [no ci]

* try browser with alternatives for ethereum-tests

* check event_name

* Figure out how event trigger name

* Only clone if no inputs

* check for submodule cache key

* only restore if dep-cache key exists

* Fix restore logic

* fix everything

* turn the CI back on

---------

Co-authored-by: acolytec3 <[email protected]>

* Dummy change to re-trigger CI

* Remove cspell CI job

* Attempt to fix CI (cannot find module @rollup/rollup-linux-x64-gnu)

* Rebuild package-lock.json

---------

Co-authored-by: Jochem Brouwer <[email protected]>
Co-authored-by: acolytec3 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants