MetaInfo
Changelog
BUGFIX
- COR-193
core/vm: warm the DeployerProxy0x...7005whenEVM.Calldispatches an EVM
hook, restoring replay of the blocks that run a runtime upgrade of the DeployerProxy
(mainnet 31,384,697 and spicy 32,196,267). Client 2.7.3 moved the invocation hook behind
the precompile/hook dispatch, so calling the runtime-upgrade hook0x...7f01no longer
touched0x...7005; the following access to it was charged as cold, and those two blocks
re-executed 2,500 gas more expensive than the canonical chain, failing every archive
resync past them. Affects every release from 2.7.3 onward. Mandatory fleet upgrade:
governance must not execute a0x...7005runtime upgrade until the whole validator set
runs a patched build.
FEATURE
cmd/replaycheck+internal/replay: new tool that answers "does this build reproduce
the gas the chain charged?". Give it a block number (or a range, or--upgrades/
--governanceto sweep every runtime upgrade / governance execution on a network); it
pulls the block, the receipts, each transaction in signed form and the pre-state each one
saw from an RPC endpoint, then re-executes them locally, with the rules compiled into
the binary, and compares against the canonical receipts. It also recomputes the parlia
fee pool from the gas it measured and checks it against what the block's system
transactions actually paid out — the same comparison an importing node makes, so a
mismatch is the bad block a resync would hit. The endpoint is only a source of history and
is never asked to judge anything;--remote-traceadditionally reports what the endpoint
itself charges, which is how you tell a patched build from a patched endpoint.
--save-fixturewrites a fixture thatinternal/replay's test suite replays offline, so
any block can be turned into a permanent regression test.
Assets
| Assets | Sha256 Checksum |
|---|---|
| mainnet.zip | 522cb9902437df2368008b28bebb6b5c35ec026bf2ec41af40117ff507f53fa7 |
| testnet.zip | 0d9de8b7f1bafc36711eed80e97bf33f906fadc2ceb5457361645941d7ad19f7 |
| geth_linux | 9043349cafaa8ceebc627646e11e4a74c2850921c9772e0cec2ac0ccc296eff8 |
| geth_mac | 26b8987646271a9b8b80447b2cce573aed2fd60045b7e8506b85f410c118dafa |
| geth_windows | 9210bf862a3ddb0a8f53f349c3a7902f57b1d6190f7a261d1e121b18278880f7 |
| geth_linux_arm64 | f7838ffb84aec416fd4fb278d1560f071aff697e4a33c16487c463520a97fafb |