EIP-150 for Ethereum Classic cpp-ethereum.#10
EIP-150 for Ethereum Classic cpp-ethereum.#10marcusrbrown wants to merge 23 commits intoethereumproject:developfrom
Conversation
BALANCE EXTCODECOPY EXTCODESIZE
This implements version 1c of EIP150 ethereum/EIPs#150.
EIP150 Version1/1b/1c StateTests
elaineo
left a comment
There was a problem hiding this comment.
@igetgames It looks like some of the EIP150 changes are implemented differently here vs in geth, so it's a bit hard to review. is it passing all the tests? (i don't understand that one commit that adds tests that crash cpp eth)
| u256 maxAllowedCallGas = *m_io_gas - *m_io_gas / 64; | ||
| callParams->gas = std::min(*m_sp, maxAllowedCallGas); | ||
| } | ||
|
|
There was a problem hiding this comment.
what is the "all but one 64th" rule?
| // ethers to non-existing account. | ||
| if (!m_schedule->staticCallDepthLimit && !m_ext->exists(dest)) | ||
| if (m_schedule->suicideChargesNewAccountGas() && !m_ext->exists(dest)) | ||
| m_runGas += m_schedule->callNewAccountGas; |
There was a problem hiding this comment.
was this change spec'd in the yellow paper? i don't remember seeing it implemented in geth
|
Thanks for taking a look. I will be syncing to the ETH PR in the morning; those tests no longer crash Eth in the PR merged upstream, so that should be resolved after I sync.
|
Pulled from ethereum#3345 with a modification for the gas reprice hard fork block number (2463000 -> 2500000).
This really needs a review other than my own. Ethereum cpp-ethereum is still working on changes to address the DoS attacks, this PR might be blocked by those changes.
I also might hold off on this PR until I can finally add the Classic chain flag and defaults to ETC cpp-ethereum. I don't know yet if any of those changes will be usable/relevant to Ethereum cpp-ethereum.