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
Currently, the gasUsed field return from EVM.dryRun, returns the correct gas usage, after the transaction execution. However, since most users will pass this value as the gas limit to eth_call or eth_sendRawTransaction, we need to add some buffer gas. We already do that, but there's a case for CREATE / CREATE2 opcodes, which we didn't handle. Relevant EIP: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-150.md#specification
Define "all but one 64th" of N as N - floor(N / 64).
If a call asks for more gas than the maximum allowed amount (i.e. the total amount of gas remaining in the parent after subtracting the gas cost of the call and memory expansion), do not return an OOG error; instead, if a call asks for more gas than all but one 64th of the maximum allowed amount, call with all but one 64th of the maximum allowed amount of gas (this is equivalent to a version of EIP-90Send all gas in call ethereum/EIPs#90 plus EIP-114Substitute call stack limit with child gas restriction ethereum/EIPs#114). CREATE only provides all but one 64th of the parent gas to the child call.
Currently, the
gasUsed
field return fromEVM.dryRun
, returns the correct gas usage, after the transaction execution. However, since most users will pass this value as the gas limit toeth_call
oreth_sendRawTransaction
, we need to add some buffer gas. We already do that, but there's a case forCREATE
/CREATE2
opcodes, which we didn't handle. Relevant EIP: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-150.md#specificationRelevant Discord Thread
The text was updated successfully, but these errors were encountered: