fix a couple of minor shard chain bugs

This commit is contained in:
Danny Ryan 2019-09-27 10:34:19 +09:00
parent 131bf282be
commit 86ed3937dc
No known key found for this signature in database
GPG Key ID: 2765A792E42CE07A
2 changed files with 13 additions and 11 deletions

View File

@ -226,16 +226,18 @@ def update_period_committee(state: BeaconState) -> None:
""" """
Updates period committee roots at boundary blocks. Updates period committee roots at boundary blocks.
""" """
if (get_current_epoch(state) + 1) % EPOCHS_PER_SHARD_PERIOD == 0: if (get_current_epoch(state) + 1) % EPOCHS_PER_SHARD_PERIOD != 0:
period = (get_current_epoch(state) + 1) // EPOCHS_PER_SHARD_PERIOD return
committees = Vector[CompactCommittee, SHARD_COUNT]([
committee_to_compact_committee( period = (get_current_epoch(state) + 1) // EPOCHS_PER_SHARD_PERIOD
state, committees = Vector[CompactCommittee, SHARD_COUNT]([
get_period_committee(state, Epoch(get_current_epoch(state) + 1), Shard(shard)), committee_to_compact_committee(
) state,
for shard in range(SHARD_COUNT) get_period_committee(state, Shard(shard), Epoch(get_current_epoch(state) + 1)),
]) )
state.period_committee_roots[period % PERIOD_COMMITTEE_ROOT_LENGTH] = hash_tree_root(committees) for shard in range(SHARD_COUNT)
])
state.period_committee_roots[period % PERIOD_COMMITTEE_ROOT_LENGTH] = hash_tree_root(committees)
``` ```
### Shard receipt processing ### Shard receipt processing

View File

@ -224,7 +224,7 @@ def process_delta(beacon_state: BeaconState,
index: ValidatorIndex, index: ValidatorIndex,
delta: Gwei, delta: Gwei,
positive: bool=True) -> None: positive: bool=True) -> None:
epoch = compute_epoch_of_shard_slot(beacon_state.slot) epoch = compute_epoch_of_shard_slot(shard_state.slot)
older_committee = get_period_committee(beacon_state, shard_state.shard, compute_shard_period_start_epoch(epoch, 2)) older_committee = get_period_committee(beacon_state, shard_state.shard, compute_shard_period_start_epoch(epoch, 2))
newer_committee = get_period_committee(beacon_state, shard_state.shard, compute_shard_period_start_epoch(epoch, 1)) newer_committee = get_period_committee(beacon_state, shard_state.shard, compute_shard_period_start_epoch(epoch, 1))
if index in older_committee: if index in older_committee: