Use stable sync committee indices when processing block rewards

This commit is contained in:
Alex Stokes
2021-05-07 09:55:21 -07:00
parent 637cf0743c
commit 86104ea361

View File

@@ -571,7 +571,11 @@ def process_sync_committee(state: BeaconState, aggregate: SyncAggregate) -> None
proposer_reward = Gwei(participant_reward * PROPOSER_WEIGHT // (WEIGHT_DENOMINATOR - PROPOSER_WEIGHT))
# Apply participant and proposer rewards
committee_indices = get_sync_committee_indices(state, get_current_epoch(state))
committee_indices = []
pubkeys = [v.pubkey for v in state.validators]
for pubkey in state.current_sync_committee.pubkeys:
index = pubkeys.index(pubkey)
committee_indices.append(ValidatorIndex(index))
participant_indices = [index for index, bit in zip(committee_indices, aggregate.sync_committee_bits) if bit]
for participant_index in participant_indices:
increase_balance(state, participant_index, participant_reward)