Skip to content

feat: JournaledAccount, a nice way to update and track changes#3086

Merged
rakita merged 12 commits intomainfrom
rakita/journaled-account
Oct 23, 2025
Merged

feat: JournaledAccount, a nice way to update and track changes#3086
rakita merged 12 commits intomainfrom
rakita/journaled-account

Conversation

@rakita
Copy link
Copy Markdown
Member

@rakita rakita commented Oct 12, 2025

JournalTr load_account and load_account_code now return & and not &mut of Account.

Additional functions that return a journaled account with both Account and Journal (load_account_mut and load_account_code_mut)

This allows account.set_balance account.touch() without thinking if journal entry needs to be made

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq bot commented Oct 12, 2025

CodSpeed Performance Report

Merging #3086 will degrade performances by 4.28%

Comparing rakita/journaled-account (cb5ca00) with main (33154d8)

Summary

❌ 2 regressions
✅ 171 untouched

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Benchmarks breakdown

Benchmark BASE HEAD Change
EXTCODEHASH_50 41.4 µs 42.9 µs -3.41%
transfer 13.2 µs 13.8 µs -4.28%

@rakita rakita force-pushed the rakita/journaled-account branch from dd31b08 to e2c6db0 Compare October 13, 2025 00:27
@rakita rakita force-pushed the rakita/journaled-account branch from 44dd5a1 to fc6878c Compare October 13, 2025 00:44
@rakita rakita requested a review from klkvr October 13, 2025 08:52
@rakita rakita requested a review from zerosnacks October 13, 2025 14:19
Copy link
Copy Markdown
Collaborator

@zerosnacks zerosnacks left a comment

Choose a reason for hiding this comment

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

Proposed changes make sense to me, I believe the initial scope of changes in Foundry is limited to updating a number of function signatures to load_account_mut and I think there may be a few places where we can use the proposed JournaledAccount

Pending review from @klkvr

@rakita rakita changed the title PoC: JournaledAccount, a nice way to update and track changes feat: JournaledAccount, a nice way to update and track changes Oct 17, 2025
@rakita rakita force-pushed the rakita/journaled-account branch from b55c3bb to a77f029 Compare October 21, 2025 17:32
@rakita rakita force-pushed the rakita/journaled-account branch from a77f029 to 82eafb7 Compare October 21, 2025 17:40
@rakita rakita force-pushed the rakita/journaled-account branch from 24a401d to a9888f1 Compare October 21, 2025 18:25
Copy link
Copy Markdown
Collaborator

@klkvr klkvr left a comment

Choose a reason for hiding this comment

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

some naming nits but nothing critical so approving

@rakita rakita merged commit ce68f93 into main Oct 23, 2025
30 of 31 checks passed
@rakita rakita deleted the rakita/journaled-account branch October 23, 2025 12:40
@github-actions github-actions bot mentioned this pull request Oct 22, 2025
theochap pushed a commit to ethereum-optimism/optimism that referenced this pull request Jan 21, 2026
…lloy/revm#3086)

* JournaledAcccount

* PoC: JournaledAccount, a nice way to update and track changes

* cleanup

* rm artifact

* inline some of host fn

* beneficiary refactor

* nit

* nits

* fmt

* rename and make old fn deprecated
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.

3 participants