From 0f222171ca3d43541c7104990fdec26686be6468 Mon Sep 17 00:00:00 2001 From: Danny Ryan Date: Thu, 21 Feb 2019 15:14:59 -0700 Subject: [PATCH] fix epoch boundary root per #652 --- specs/validator/0_beacon-chain-validator.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/specs/validator/0_beacon-chain-validator.md b/specs/validator/0_beacon-chain-validator.md index 6fdeafb49..1379e49ae 100644 --- a/specs/validator/0_beacon-chain-validator.md +++ b/specs/validator/0_beacon-chain-validator.md @@ -262,7 +262,9 @@ Set `attestation_data.beacon_block_root = hash_tree_root(head)` where `head` is Set `attestation_data.epoch_boundary_root = hash_tree_root(epoch_boundary)` where `epoch_boundary` is the block at the most recent epoch boundary in the chain defined by `head` -- i.e. the `BeaconBlock` where `block.slot == get_epoch_start_slot(slot_to_epoch(head.slot))`. -_Note:_ This can be looked up in the state using `get_block_root(state, get_epoch_start_slot(slot_to_epoch(head.slot)))`. +_Note:_ This can be looked up in the state using: +* Let `epoch_start_slot = get_epoch_start_slot(slot_to_epoch(head.slot))`. `get_block_root(state, get_epoch_start_slot(slot_to_epoch(head.slot)))`. +* Set `epoch_boundary_root = hash_tree_root(head) if epoch_start_slot == head.slot else get_block_root(state, epoch_start_slot)`. ##### Shard block root