-
Notifications
You must be signed in to change notification settings - Fork 8
EIP-150 for Ethereum Classic cpp-ethereum. #10
base: develop
Are you sure you want to change the base?
Conversation
BALANCE EXTCODECOPY EXTCODESIZE
This implements version 1c of EIP150 ethereum/EIPs#150.
EIP150 Version1/1b/1c StateTests
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.
why does this crash cpp eth?
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.
@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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is the "all but one 64th" rule?
@@ -191,7 +191,7 @@ void VM::interpretCases() | |||
|
|||
// After EIP150 hard fork charge additional cost of sending | |||
// 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.