@@ -29,6 +29,7 @@ It consists of four main sections:
29
29
- [ Global topics] ( #global-topics )
30
30
- [ ` beacon_block ` ] ( #beacon_block )
31
31
- [ ` beacon_aggregate_and_proof ` ] ( #beacon_aggregate_and_proof )
32
+ - [ ` bls_to_execution_change ` ] ( #bls_to_execution_change )
32
33
- [ ` voluntary_exit ` ] ( #voluntary_exit )
33
34
- [ ` proposer_slashing ` ] ( #proposer_slashing )
34
35
- [ ` attester_slashing ` ] ( #attester_slashing )
@@ -279,7 +280,14 @@ Bellatrix:
279
280
| - | - |
280
281
| ` beacon_block ` | ` SignedBeaconBlock ` (modified) |
281
282
282
- Note that the ForkDigestValue path segment of the topic separates the old and the new beacon_block topics.
283
+ Capella:
284
+
285
+ | Name | Message Type |
286
+ | - | - |
287
+ | ` beacon_block ` | ` SignedBeaconBlock ` (modified) |
288
+ | ` bls_to_execution_change ` | ` SignedBLSToExecutionChange ` |
289
+
290
+ Note that the ` ForkDigestValue ` path segment of the topic separates the old and the new ` beacon_block ` topics.
283
291
284
292
Clients MUST reject (fail validation) messages containing an incorrect type, or invalid payload.
285
293
@@ -332,6 +340,7 @@ The following validations MUST pass before forwarding the `signed_beacon_block`
332
340
in such a case _ do not_ ` REJECT ` , instead ` IGNORE ` this message.
333
341
334
342
Modified in Bellatrix due to the inner ` BeaconBlockBody ` change.
343
+
335
344
In addition to the gossip validations for this topic from prior specifications,
336
345
the following validations MUST pass before forwarding the ` signed_beacon_block ` on the network.
337
346
Alias ` block = signed_beacon_block.message ` , ` execution_payload = block.body.execution_payload ` .
@@ -351,6 +360,10 @@ The following gossip validation from prior specifications MUST NOT be applied if
351
360
352
361
- [ REJECT] The block's parent (defined by ` block.parent_root ` ) passes validation.
353
362
363
+ Modified in Capella:
364
+ The * type* of the payload of this topic changes to the (modified) ` SignedBeaconBlock ` found in Capella.
365
+ Specifically, this type changes with the addition of ` bls_to_execution_changes ` to the inner ` BeaconBlockBody ` .
366
+
354
367
###### ` beacon_aggregate_and_proof `
355
368
356
369
The ` beacon_aggregate_and_proof ` topic is used to propagate aggregated attestations (as ` SignedAggregateAndProof ` s)
@@ -385,6 +398,19 @@ The following validations MUST pass before forwarding the `signed_aggregate_and_
385
398
`get_checkpoint_block(store, aggregate.data.beacon_block_root, finalized_checkpoint.epoch)
386
399
== store.finalized_checkpoint.root`
387
400
401
+ ###### ` bls_to_execution_change `
402
+
403
+ (Added in Capella)
404
+
405
+ This topic is used to propagate signed bls to execution change messages to be included in future blocks.
406
+
407
+ The following validations MUST pass before forwarding the ` signed_bls_to_execution_change ` on the network:
408
+
409
+ - _ [ IGNORE] _ ` current_epoch >= CAPELLA_FORK_EPOCH ` ,
410
+ where ` current_epoch ` is defined by the current wall-clock time.
411
+ - _ [ IGNORE] _ The ` signed_bls_to_execution_change ` is the first valid signed bls to execution change received
412
+ for the validator with index ` signed_bls_to_execution_change.message.validator_index ` .
413
+ - _ [ REJECT] _ All of the conditions within ` process_bls_to_execution_change ` pass validation.
388
414
389
415
###### ` voluntary_exit `
390
416
@@ -939,6 +965,7 @@ Per `context = compute_fork_digest(fork_version, genesis_validators_root)`:
939
965
| ` GENESIS_FORK_VERSION ` | ` phase0.SignedBeaconBlock ` |
940
966
| ` ALTAIR_FORK_VERSION ` | ` altair.SignedBeaconBlock ` |
941
967
| ` BELLATRIX_FORK_VERSION ` | ` bellatrix.SignedBeaconBlock ` |
968
+ | ` CAPELLA_FORK_VERSION ` | ` capella.SignedBeaconBlock ` |
942
969
943
970
##### BeaconBlocksByRoot
944
971
@@ -995,6 +1022,7 @@ Per `context = compute_fork_digest(fork_version, genesis_validators_root)`:
995
1022
| ` GENESIS_FORK_VERSION ` | ` phase0.SignedBeaconBlock ` |
996
1023
| ` ALTAIR_FORK_VERSION ` | ` altair.SignedBeaconBlock ` |
997
1024
| ` BELLATRIX_FORK_VERSION ` | ` bellatrix.SignedBeaconBlock ` |
1025
+ | ` CAPELLA_FORK_VERSION ` | ` capella.SignedBeaconBlock ` |
998
1026
999
1027
##### Ping
1000
1028
0 commit comments