-
Notifications
You must be signed in to change notification settings - Fork 405
Add support for EIP-7623 #389
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
Merged
sorpaas
merged 30 commits into
rust-ethereum:v0.x
from
moonbeam-foundation:manuel/add-support-for-eip7623
Sep 8, 2025
Merged
Changes from all commits
Commits
Show all changes
30 commits
Select commit
Hold shift + click to select a range
329ccdf
feat: :sparkles: add support for EIP-7623
manuelmauro 5684cbd
feat: :sparkles: add post_execution method to gasometer
manuelmauro 01340c7
fix: :bug: check for invalid gas limit
manuelmauro df052f9
feat: :sparkles: add gas tracker
manuelmauro bdb8019
style: :art: fmt
manuelmauro e129161
fix: :bug: add check for recorded transaction
manuelmauro 78a2d7c
Revert "fix: :bug: add check for recorded transaction"
manuelmauro 4b649e1
fix: :bug: use saturanting arithmetic in execution gas calculation
manuelmauro b423907
refactor: :fire: remove apply_eip_7623_adjustment function
manuelmauro 29a1a20
fix: :bug: fix computation of EIP-7623 cost
manuelmauro 66c8018
fix: :bug: fix execution cost computation
manuelmauro 058ae7b
refactor: :recycle: move cost computation inside GasTracker
manuelmauro 92ce5e7
perf: :zap: add caching to GasTracker
manuelmauro f62bb08
test: :white_check_mark: add proper testing
manuelmauro 021f491
refactor: :rotating_light: clippy
manuelmauro 76b381b
refactor: :recycle: rename GasTracker to GasMetrics and move it to a …
manuelmauro f7d545a
refactor: :recycle: rename execution_cost to non_intrinsic_cost
manuelmauro 27f7f3a
refactor: :recycle: rename tracker to metrics
manuelmauro 8b3aa09
docs: :memo: improve docs
manuelmauro fa7707c
fix: :bug: add instrinsic gas cost metric
manuelmauro 78abe6d
docs: :memo: document intrinsic_cost_metrics method
manuelmauro c425c74
refactor: :recycle: add init method to GasMetrics
manuelmauro 2a0af91
refactor: :recycle: reduce code duplication
manuelmauro f279eff
refactor: :recycle: improve if condition
manuelmauro 70ae6e1
fix: :bug: add contract creation component to intrinsic gas calculation
manuelmauro d4a11c6
fix: :bug: remove duplicated init_code_cost component
manuelmauro 416841c
refactor: :fire: remove intrinsic cost metrics
manuelmauro 3847259
test: :white_check_mark: test invalid transaction with gas lower than…
manuelmauro dc1f984
refactor: :recycle: wildly simplify the solution
manuelmauro 9212a7a
revert: :rewind: remove refactoring
manuelmauro File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To avoid having many fields in
DerivedConfigInputs, we could have a single field, which is specify to eip-7623There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, we already 2 constants that are used for this.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
eip-7623 changes
gas_transaction_non_zero_datafrom 16 to 40 andgas_transaction_zero_datafrom 4 to 10.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we need to keep both, because the 10/40 is applied only in the case the 4/16 plus execution costs do not reach the floor.
The
STANDARD_TOKEN_COSTstays 4, while we addTOTAL_COST_FLOOR_PER_TOKENwhich is 10.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like this, but maybe better to evaluate it as a refactoring in another PR?