Skip to content

Commit 8d6b784

Browse files
authored
Fix: engine nits (#753)
* nit: update deadlinks * nit: update deadlink * Replace SECONDS_PER_SLOT to SLOT_DURATION_MS SECONDS_PER_SLOT was deprecated in favor of SLOT_DURATION_MS in ethereum/consensus-specs#4476 * nit: update deadlinks * fix: BlobsBundleV1 typo and link * fix: use consensus-specs master branch for links * fix: grammar/wrong anchor
1 parent 189f407 commit 8d6b784

3 files changed

Lines changed: 7 additions & 7 deletions

File tree

src/engine/osaka.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ The fields are encoded as follows:
5555

5656
### engine_getPayloadV5
5757

58-
This method is updated in a backward incompatible way. Instead of returning `BlobBundleV1`, it returns `BlobsBundleV2`.
58+
This method is updated in a backward incompatible way. Instead of returning `blobsBundle` as [`BlobsBundleV1`](./cancun.md#blobsbundlev1), it returns [`BlobsBundleV2`](#BlobsBundleV2).
5959

6060
#### Request
6161

@@ -85,10 +85,10 @@ This method follows the same specification as [`engine_getPayloadV4`](./prague.m
8585
3. The call **MUST** return `blobs` and `proofs` that match the `commitments` list, i.e.
8686
1. `assert len(blobsBundle.commitments) == len(blobsBundle.blobs)` and
8787
2. `assert len(blobsBundle.proofs) == len(blobsBundle.blobs) * CELLS_PER_EXT_BLOB` and
88-
3. `assert verify_cell_kzg_proof_batch(commitments, cell_indices, cells, blobsBundle.proofs)` (see [EIP-7594 consensus-specs](https://github.com/ethereum/consensus-specs/blob/36d80adb44c21c66379c6207a9578f9b1dcc8a2d/specs/fulu/polynomial-commitments-sampling.md#verify_cell_kzg_proof_batch))
88+
3. `assert verify_cell_kzg_proof_batch(commitments, cell_indices, cells, blobsBundle.proofs)` (see [EIP-7594 consensus-specs](https://github.com/ethereum/consensus-specs/blob/master/specs/fulu/polynomial-commitments-sampling.md#verify_cell_kzg_proof_batch))
8989
1. `commitments` should list each commitment `CELLS_PER_EXT_BLOB` times, repeating it for every cell. In python, `[blobsBundle.commitments[i] for i in range(len(blobsBundle.blobs)) for _ in range(CELLS_PER_EXT_BLOB)]`
9090
2. `cell_indices` should be `[0, ..., CELLS_PER_EXT_BLOB, 0, ..., CELLS_PER_EXT_BLOB, ...]`. In python, `list(range(CELLS_PER_EXT_BLOB)) * len(blobsBundle.blobs)`
91-
3. `cells` is the list of cells for an extended blob. In python, `[cell for blob in blobsBundle.blobs for cell in compute_cells(blob)]` (see [compute_cells](https://github.com/ethereum/consensus-specs/blob/v1.5.0-beta.3/specs/fulu/polynomial-commitments-sampling.md#compute_cells) in consensus-specs)
91+
3. `cells` is the list of cells for an extended blob. In python, `[cell for blob in blobsBundle.blobs for cell in compute_cells(blob)]` (see [compute_cells](https://github.com/ethereum/consensus-specs/blob/master/specs/fulu/polynomial-commitments-sampling.md#compute_cells) in consensus-specs)
9292
4. All of the inputs to `verify_cell_kzg_proof_batch` have the same length, `CELLS_PER_EXT_BLOB * len(blobsBundle.blobs)`
9393

9494
### engine_getBlobsV2

src/engine/paris.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Engine API structures and methods specified for Paris.
4040

4141
### ExecutionPayloadV1
4242

43-
This structure maps on the [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/dev/specs/bellatrix/beacon-chain.md#ExecutionPayload) structure of the beacon chain spec. The fields are encoded as follows:
43+
This structure maps on the [`ExecutionPayload`](https://github.com/ethereum/consensus-specs/blob/master/specs/bellatrix/beacon-chain.md#executionpayload) structure of the beacon chain spec. The fields are encoded as follows:
4444

4545
- `parentHash`: `DATA`, 32 Bytes
4646
- `feeRecipient`: `DATA`, 20 Bytes
@@ -136,7 +136,7 @@ The payload build process is specified as follows:
136136

137137
3. Client software **SHOULD** start the process of updating the payload. The strategy of this process is implementation dependent. The default strategy is to keep the transaction set up-to-date with the state of local mempool.
138138

139-
4. Client software **SHOULD** stop the updating process when either a call to `engine_getPayload` with the build process's `payloadId` is made or [`SECONDS_PER_SLOT`](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/beacon-chain.md#time-parameters-1) (12s in the Mainnet configuration) have passed since the point in time identified by the `timestamp` parameter.
139+
4. Client software **SHOULD** stop the updating process when either a call to `engine_getPayload` with the build process's `payloadId` is made or [`SLOT_DURATION_MS`](https://github.com/ethereum/consensus-specs/blob/master/specs/phase0/beacon-chain.md#time-parameters-1) (12s in the Mainnet configuration) have passed since the point in time identified by the `timestamp` parameter.
140140

141141
5. Client software **MUST** begin a new build process if given `PayloadAttributes` doesn't match payload attributes of an existing build process.
142142
Every new build process **MUST** be uniquely identified by the returned `payloadId` value.

src/engine/shanghai.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ This method follows the same specification as [`engine_getPayloadV1`](./paris.md
191191

192192
1. Client software **MUST** set `withdrawals` field to `null` for bodies of pre-Shanghai blocks.
193193

194-
1. This request maps to [`BeaconBlocksByRoot`](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#beaconblocksbyroot) in the consensus layer `p2p` specification. Callers must be careful to use the execution block hash, instead of the beacon block root.
194+
1. This request maps to [`BeaconBlocksByRoot`](https://github.com/ethereum/consensus-specs/blob/master/specs/phase0/p2p-interface.md#beaconblocksbyroot-v1) in the consensus layer `p2p` specification. Callers must be careful to use the execution block hash, instead of the beacon block root.
195195

196196
1. Callers must consider that syncing execution layer client may not serve any block bodies, including those that were supplied by `engine_newPayload` calls.
197197

@@ -228,7 +228,7 @@ This method follows the same specification as [`engine_getPayloadV1`](./paris.md
228228

229229
1. Client software **MUST** set `withdrawals` field to `null` for bodies of pre-Shanghai blocks.
230230

231-
1. This request maps to [`BeaconBlocksByRange`](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/p2p-interface.md#beaconblocksbyrange) in the consensus layer `p2p` specification.
231+
1. This request maps to [`BeaconBlocksByRange`](https://github.com/ethereum/consensus-specs/blob/master/specs/phase0/p2p-interface.md#beaconblocksbyrange-v1) in the consensus layer `p2p` specification.
232232

233233
1. Callers must be careful to not confuse `start` with a slot number, instead mapping the slot to a block number. Callers must also be careful to request non-finalized blocks by hash in order to avoid race conditions around the current view of the canonical chain.
234234

0 commit comments

Comments
 (0)