diff --git a/EIPS/eip-2935.md b/EIPS/eip-2935.md index a04da454a5a6ba..8674a55b783895 100644 --- a/EIPS/eip-2935.md +++ b/EIPS/eip-2935.md @@ -26,7 +26,6 @@ A side benefit of this approach could be that it allows building/validating proo | Parameter | Value | | - | - | -| `FORK_TIMESTAMP` | TBD | | `BLOCKHASH_SERVE_WINDOW` | `256` | | `HISTORY_SERVE_WINDOW` | `8192` | | `SYSTEM_ADDRESS` | `0xfffffffffffffffffffffffffffffffffffffffe` | @@ -36,7 +35,7 @@ This EIP specifies for storing last `HISTORY_SERVE_WINDOW` block hashes in a rin ### Block processing -At the start of processing any block where `block.timestamp >= FORK_TIMESTAMP` (ie. before processing any transactions), call to `HISTORY_STORAGE_ADDRESS` as `SYSTEM_ADDRESS` with the 32-byte input of `block.parent.hash`, a gas limit of `30_000_000`, and `0` value. This will trigger the `set()` routine of the history contract. This is a system operation following the same convention as [EIP-4788](./eip-4788.md) and therefore: +At the start of processing any block where this EIP is active (ie. before processing any transactions), call to `HISTORY_STORAGE_ADDRESS` as `SYSTEM_ADDRESS` with the 32-byte input of `block.parent.hash`, a gas limit of `30_000_000`, and `0` value. This will trigger the `set()` routine of the history contract. This is a system operation following the same convention as [EIP-4788](./eip-4788.md) and therefore: * the call must execute to completion * the call does not count against the block's gas limit @@ -45,7 +44,7 @@ At the start of processing any block where `block.timestamp >= FORK_TIMESTAMP` ( Note: Alternatively clients can choose to directly write to the storage of the contract but EVM calling the contract remains preferred. Refer to the rationale for more info. -Note that, it will take `HISTORY_SERVE_WINDOW` blocks after `FORK_TIMESTAMP` to completely fill up the ring buffer. The contract will only contain the parent hash of the fork block and no hashes prior to that. +Note that, it will take `HISTORY_SERVE_WINDOW` blocks after the EIP's activation to completely fill up the ring buffer. The contract will only contain the parent hash of the fork block and no hashes prior to that. ### EVM Changes @@ -228,7 +227,7 @@ The latter option is as follows: ```python def process_block_hash_history(block: Block, state: State): - if block.timestamp >= FORK_TIMESTAMP: + if block.timestamp >= FORK_TIMESTAMP: // FORK_TIMESTAMP should be definied outside of the EIP state.insert_slot(HISTORY_STORAGE_ADDRESS, (block.number-1) % HISTORY_SERVE_WINDOW , block.parent.hash) ```