You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Gas estimation should cap itself to the block gas limit if none is given, currently it caps itself to the configured call gas cap. This is bad because it wastes estimation cycles.
Interestingly, the gas estimator itself works correctly, but is called bad (the gas is set before estimation to the global gas cap, so the poor estimator works with what it's given). The cause is a long stream of refactors and abstractions which gradually bubbles setting the gas value of a transaction in ToMessage, which sounds counterintuitive.
Fixing it is not super obvious, because changing ToMessage to not set the gas might have other implications. We should look through the call sites and see how to best fix without adding workarounds.
The text was updated successfully, but these errors were encountered:
I think we can just recap gas.args with header gasLimit when gas.args is greater than block gasLimit.
This enable us to check if gas.args == nil in CallDefaults(). And also, we can prevent gas.args from being greater than block gasLimit.
Tracker for #29509.
Gas estimation should cap itself to the block gas limit if none is given, currently it caps itself to the configured call gas cap. This is bad because it wastes estimation cycles.
Interestingly, the gas estimator itself works correctly, but is called bad (the gas is set before estimation to the global gas cap, so the poor estimator works with what it's given). The cause is a long stream of refactors and abstractions which gradually bubbles setting the gas value of a transaction in ToMessage, which sounds counterintuitive.
Fixing it is not super obvious, because changing ToMessage to not set the gas might have other implications. We should look through the call sites and see how to best fix without adding workarounds.
The text was updated successfully, but these errors were encountered: