-
Notifications
You must be signed in to change notification settings - Fork 1k
feat: add EIP-8037 / TIP-1016 state gas support #3406
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
Merged
Changes from 3 commits
Commits
Show all changes
46 commits
Select commit
Hold shift + click to select a range
ee5f210
feat: implement EIP-8037 state gas (reservoir model)
rakita d154685
Merge remote-tracking branch 'origin/main' into state-gas
rakita 556602b
rm statetest jsons
rakita 1e9fe4a
Rename spent to regular_gas_spent in ResultGas and simplify reservoir…
rakita 257d261
Simplify EIP-8037 state gas: remove redundant fields from ResultGas a…
rakita 4534164
Move EIP-7702 state gas refund split into pre_execution
rakita 7a826db
Add PrecompileFailure type for state gas propagation on error
rakita a9b3634
Merge remote-tracking branch 'origin/main' into state-gas
rakita 03b7c8d
Convert precompile errors to PrecompileFailure via .into()
rakita 72b376c
Fix EIP-8037 state gas accounting regression
rakita 3a29466
Move state gas deduction into first_frame_input
rakita b6ccdff
Fix EIP-8037 gas accounting: floor gas, reservoir, inspector, validation
rakita 242243f
Fix EIP-8037 reservoir accounting: tx_gas_used, child revert refunds,…
rakita 712dac7
Fix CREATE/CREATE2 static call check ordering for EIP-8037 state gas …
rakita 7a999fc
Simplify last_frame_result: remove initial_reservoir parameter and fi…
rakita 5f94ddb
Revert CREATE/CREATE2 static call check to before gas charging
rakita 1e1d64d
Fix reservoir handling: restore state gas on revert/halt
rakita 5001497
Fix EIP-8037 state_gas_spent accounting for EIP-7702 auth list
rakita 319fe0a
Merge remote-tracking branch 'origin/main' into rakita/state-gas
rakita 5aef2ce
Improve precompile reservoir handling and apply formatting fixes
rakita 033d0ef
Fix precompile_provider compilation errors against current precompile…
rakita 81d3b17
Simplify precompile interface: remove gas_limit from PrecompileOutput…
rakita 94e0305
Fix EIP-8037 reservoir refill tests and complete precompile interface…
rakita 03986fc
temporary remove all ee-tests
rakita 9d5d898
Fix state gas accounting: include reservoir in total_gas_spent and pr…
rakita f77d65f
Apply formatting fixes and use saturating arithmetic for state gas spent
rakita ef18e6a
Revert "temporary remove all ee-tests"
rakita be396f7
Fix total_gas_spent to exclude reservoir and use saturating arithmetic
rakita 7e01885
Use build_result_gas helper in system call gas handling
rakita 4b975de
Merge remote-tracking branch 'origin/main' into rakita/state-gas
rakita 8891655
bump rust to 1.91
rakita 44a4233
Remove redundant gas_limit from Gas, delegate to GasTracker
rakita 2cffb90
refactor(precompile): restructure PrecompileOutput for state gas and …
rakita a357a60
Merge remote-tracking branch 'origin/main' into rakita/state-gas
rakita d7267ab
refactor(precompile): move reservoir into PrecompileOutput and add Pr…
rakita 28c73bb
fix: update bench and test code for new Precompile API
rakita d3b4555
docs: fix ResultGas doc comments to match current API
rakita 74b2541
docs: fix broken doc links and typos in ResultGas
rakita 0064a83
Merge remote-tracking branch 'origin/main' into state-gas
rakita 99b3589
feat: track state_gas_spent and reservoir in GasInspector
rakita c8460de
fix: validate max(intrinsic_gas, floor_gas) against TX_MAX_GAS_LIMIT cap
rakita df67e80
chore: add must_use annotations to gas recording methods and minor cl…
rakita 0634dfa
refactor: update custom_precompile_journal example to use PrecompileO…
rakita 577c903
refactor: make Precompile::execute return Result<PrecompileOutput, Pr…
rakita 3f340d8
chore: bump MSRV to 1.91 in CI
rakita f410840
fix: exclude EIP-8037 reservoir gas from op-revm fee settlement
rakita 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
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
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.
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.