-
Notifications
You must be signed in to change notification settings - Fork 438
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
Implement EIP-7623: Increase calldata cost #7539
base: master
Are you sure you want to change the base?
Conversation
Co-authored-by: Ben Adams <[email protected]> Co-authored-by: Kamil Chodoła <[email protected]> Co-authored-by: nethermind-machine <[email protected]> Co-authored-by: LukaszRozmej <[email protected]> Co-authored-by: Daniel Kyutae Jung <[email protected]> Co-authored-by: Ahmad Bitar <[email protected]> Co-authored-by: Lukasz Rozmej <[email protected]> Co-authored-by: Amirul Ashraf <[email protected]> Co-authored-by: yerke26 <[email protected]> Co-authored-by: yeerke <[email protected]> Co-authored-by: Ruben Buniatyan <[email protected]> Co-authored-by: Alexey <[email protected]> Co-authored-by: Nikita Mescheryakov <[email protected]> Co-authored-by: Lautaro Emanuel <[email protected]> Co-authored-by: Marcos Antonio Maceo <[email protected]> Co-authored-by: ak88 <[email protected]> Co-authored-by: Yaroslav Kukharuk <[email protected]> Co-authored-by: Marek Moraczyński <[email protected]> Co-authored-by: Ahmad Bitar <[email protected]> Co-authored-by: Oleg Jakushkin <[email protected]> Co-authored-by: Kamil Chodoła <[email protected]> Co-authored-by: healthyyyoung <[email protected]>
…ethermind into feature/eip-7702
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.
Don't merge, we need to merge 7702 at first
// This is unnecessarily calculated twice - at validation and execution times. | ||
transaction.GasLimit < IntrinsicGasCalculator.Calculate(transaction, releaseSpec) | ||
var intrinsicGas = IntrinsicGasCalculator.Calculate(transaction, releaseSpec, out var floorGas); |
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 wonder if there's a more elegant way to handle this than using an out parameter. For example, the IntrinsicGasCalculator could encapsulate the transaction validation logic within the class itself.
@@ -343,7 +344,7 @@ protected TransactionResult ValidateStatic( | |||
return "EIP-3860 - transaction size over max init code size"; | |||
} | |||
|
|||
return ValidateGas(tx, header, intrinsicGas, validate); | |||
return ValidateGas(tx, header, Math.Max(intrinsicGas, floorGas), validate); |
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.
Oh I see it is needed here. Perhaps, out is the best solution then, but think about it
Resolves #7527
https://eips.ethereum.org/EIPS/eip-7623
Changes
Types of changes
What types of changes does your code introduce?
Testing
Requires testing
If yes, did you write tests?
Notes on testing
Optional. Remove if not applicable.
Documentation
Requires documentation update
If yes, link the PR to the docs update or the issue with the details labeled
docs
. Remove if not applicable.Requires explanation in Release Notes
If yes, fill in the details here. Remove if not applicable.
Remarks
Optional. Remove if not applicable.