From a5fb9408aee6f6bdfc9b9ff57c3989d8b25dd080 Mon Sep 17 00:00:00 2001 From: Danny Ryan Date: Mon, 30 Sep 2019 13:11:23 +0900 Subject: [PATCH] make beacon state for shard sate transition from current shard epoch --- specs/core/1_shard-data-chains.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/specs/core/1_shard-data-chains.md b/specs/core/1_shard-data-chains.md index 3fe6f6a65..2045c7a7e 100644 --- a/specs/core/1_shard-data-chains.md +++ b/specs/core/1_shard-data-chains.md @@ -338,12 +338,12 @@ def process_shard_block_header(beacon_state: BeaconState, shard_state: ShardStat # Verify the slot number assert block.slot == shard_state.slot # Verify the beacon chain root - parent_epoch = compute_epoch_of_shard_slot(shard_state.latest_block_header.slot) - # --super dirty. need to think-- # - if parent_epoch * SLOTS_PER_EPOCH == beacon_state.slot: + epoch = compute_epoch_of_shard_slot(shard_state.slot) + assert epoch == compute_epoch_of_slot(beacon_state.slot) + if epoch * SLOTS_PER_EPOCH == beacon_state.slot: beacon_block_root = signing_root(beacon_state.latest_block_header) else: - beacon_block_root = get_block_root(beacon_state, parent_epoch) + beacon_block_root = get_block_root(beacon_state, epoch) assert block.beacon_block_root == beacon_block_root # Verify the parent root assert block.parent_root == signing_root(shard_state.latest_block_header)