go-ethereum
go-ethereum copied to clipboard
cmd/evm/internal/t8ntool, core, core/vm, miner, params: implement eip 2935: save historical block hash in state
This is a rewrite building on my previous attempt.
~~Because the EIP is only activated 256 blocks after the fork, and that timestamp-based fork makes things really tricky, this approach checks the contract to see if the blockhash of its 256th ancestor is non-zero. If that is the case, then it means that the EIP has been active since at least 256 blocks, and therefore it is safe to activate the new behavior. Otherwise, it will default to the older behavior.~~ Rewrote the branch to conform to the latest version of the EIP, in which all previous 256 ancestor hashes are written to the contract at the fork. The EIP is rooted at Prague because this is the fork that is being targeted.
@gballet is there a need for this now that we have #29465?
Closing in favor of #29465