Shard receipts cannot penalize withdrawn validators

This commit is contained in:
vbuterin 2019-08-07 12:13:02 -04:00 committed by Hsiao-Wei Wang
parent 7132778a69
commit 36a2283052
No known key found for this signature in database
GPG Key ID: 95B070122902DEA4
1 changed files with 3 additions and 2 deletions

View File

@ -156,8 +156,9 @@ def process_shard_receipt(state: BeaconState, receipt_proof: ShardReceiptProof):
root=state.current_crosslinks[shard].data_root
)
for delta in receipt_proof.receipt:
increase_balance(state, delta.index, state.validators[delta.index].effective_balance * delta.reward_coefficient // REWARD_COEFFICIENT_BASE)
decrease_balance(state, delta.index, delta.block_fee)
if get_current_epoch(state) < state.validators[delta.index].withdrawable_epoch:
increase_balance(state, delta.index, state.validators[delta.index].effective_balance * delta.reward_coefficient // REWARD_COEFFICIENT_BASE)
decrease_balance(state, delta.index, delta.block_fee)
state.next_shard_receipt_period[receipt_proof.shard] += 1
increase_balance(state, get_beacon_proposer_index(state), MICRO_REWARD)
```