fix previous root (#716)

This commit is contained in:
Danny Ryan 2019-03-05 06:07:00 -07:00 committed by Justin
parent ecb76420ec
commit e2a0452108
1 changed files with 3 additions and 5 deletions

View File

@ -1693,10 +1693,10 @@ At every `slot > GENESIS_SLOT` run the following function:
```python ```python
def advance_slot(state: BeaconState) -> None: def advance_slot(state: BeaconState) -> None:
state.latest_state_roots[state.slot % SLOTS_PER_HISTORICAL_ROOT] = hash_tree_root(state) state.latest_state_roots[state.slot % SLOTS_PER_HISTORICAL_ROOT] = hash_tree_root(state)
state.latest_block_roots[state.slot % SLOTS_PER_HISTORICAL_ROOT] = get_block_root(state, state.slot - 1)
state.slot += 1
if state.latest_block_header.state_root == ZERO_HASH: if state.latest_block_header.state_root == ZERO_HASH:
state.latest_block_header.state_root = get_state_root(state, state.slot - 1) state.latest_block_header.state_root = get_state_root(state, state.slot)
state.latest_block_roots[state.slot % SLOTS_PER_HISTORICAL_ROOT] = hash_tree_root(state.latest_block_header)
state.slot += 1
``` ```
### Per-block processing ### Per-block processing
@ -1711,8 +1711,6 @@ def process_block_header(state: BeaconState, block: BeaconBlock) -> None:
assert block.slot == state.slot assert block.slot == state.slot
# Verify that the parent matches # Verify that the parent matches
assert block.previous_block_root == hash_tree_root(state.latest_block_header) assert block.previous_block_root == hash_tree_root(state.latest_block_header)
# Save previous block root
state.latest_block_roots[(state.slot - 1) % SLOTS_PER_HISTORICAL_ROOT] = block.previous_block_root
# Save current block as the new latest block # Save current block as the new latest block
state.latest_block_header = get_temporary_block_header(block) state.latest_block_header = get_temporary_block_header(block)
# Verify proposer signature # Verify proposer signature