Skip to content

Commit

Permalink
Merge pull request #1013 from terencechain/patch-69
Browse files Browse the repository at this point in the history
Generate seed once for get_beacon_proposer_index
  • Loading branch information
djrtwo committed May 1, 2019
2 parents dc458bf + f62126d commit a25103c
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion specs/core/0_beacon-chain.md
Original file line number Diff line number Diff line change
Expand Up @@ -928,10 +928,11 @@ def get_beacon_proposer_index(state: BeaconState) -> ValidatorIndex:
current_epoch = get_current_epoch(state)
first_committee, _ = get_crosslink_committees_at_slot(state, state.slot)[0]
MAX_RANDOM_BYTE = 2**8 - 1
seed = generate_seed(state, current_epoch)
i = 0
while True:
candidate_index = first_committee[(current_epoch + i) % len(first_committee)]
random_byte = hash(generate_seed(state, current_epoch) + int_to_bytes8(i // 32))[i % 32]
random_byte = hash(seed + int_to_bytes8(i // 32))[i % 32]
effective_balance = state.validator_registry[candidate_index].effective_balance
if effective_balance * MAX_RANDOM_BYTE >= MAX_EFFECTIVE_BALANCE * random_byte:
return candidate_index
Expand Down

0 comments on commit a25103c

Please sign in to comment.