Implments suggestions from review
This commit is contained in:
parent
0fd1d38417
commit
c2a4838f5a
|
@ -66,7 +66,7 @@
|
||||||
- [`is_slashable_attestation_data`](#is_slashable_attestation_data)
|
- [`is_slashable_attestation_data`](#is_slashable_attestation_data)
|
||||||
- [`is_valid_merkle_branch`](#is_valid_merkle_branch)
|
- [`is_valid_merkle_branch`](#is_valid_merkle_branch)
|
||||||
- [Misc](#misc)
|
- [Misc](#misc)
|
||||||
- [`compute_shuffle_index`](#compute_shuffle_index)
|
- [`compute_shuffled_index`](#compute_shuffled_index)
|
||||||
- [`compute_committee`](#compute_committee)
|
- [`compute_committee`](#compute_committee)
|
||||||
- [`compute_slot_epoch`](#compute_slot_epoch)
|
- [`compute_slot_epoch`](#compute_slot_epoch)
|
||||||
- [`compute_epoch_start_slot`](#compute_epoch_start_slot)
|
- [`compute_epoch_start_slot`](#compute_epoch_start_slot)
|
||||||
|
@ -662,10 +662,10 @@ def is_valid_merkle_branch(leaf: Hash, branch: Sequence[Hash], depth: uint64, in
|
||||||
|
|
||||||
### Misc
|
### Misc
|
||||||
|
|
||||||
#### `compute_shuffle_index`
|
#### `compute_shuffled_index`
|
||||||
|
|
||||||
```python
|
```python
|
||||||
def compute_shuffle_index(index: ValidatorIndex, index_count: uint64, seed: Hash) -> ValidatorIndex:
|
def compute_shuffled_index(index: ValidatorIndex, index_count: uint64, seed: Hash) -> ValidatorIndex:
|
||||||
"""
|
"""
|
||||||
Return the shuffled validator index corresponding to ``seed`` (and ``index_count``).
|
Return the shuffled validator index corresponding to ``seed`` (and ``index_count``).
|
||||||
"""
|
"""
|
||||||
|
@ -698,7 +698,7 @@ def compute_committee(indices: Sequence[ValidatorIndex],
|
||||||
"""
|
"""
|
||||||
start = (len(indices) * index) // count
|
start = (len(indices) * index) // count
|
||||||
end = (len(indices) * (index + 1)) // count
|
end = (len(indices) * (index + 1)) // count
|
||||||
return [indices[compute_shuffle_index(ValidatorIndex(i), len(indices), seed)] for i in range(start, end)]
|
return [indices[compute_shuffled_index(ValidatorIndex(i), len(indices), seed)] for i in range(start, end)]
|
||||||
```
|
```
|
||||||
|
|
||||||
#### `compute_slot_epoch`
|
#### `compute_slot_epoch`
|
||||||
|
@ -1677,9 +1677,9 @@ def process_deposit(state: BeaconState, deposit: Deposit) -> None:
|
||||||
if pubkey not in validator_pubkeys:
|
if pubkey not in validator_pubkeys:
|
||||||
# Verify the deposit signature (proof of possession) for new validators.
|
# Verify the deposit signature (proof of possession) for new validators.
|
||||||
# Note: The deposit contract does not check signatures.
|
# Note: The deposit contract does not check signatures.
|
||||||
# Note: Deposits are valid across forks. thus the deposit domain is retrieved directly from `compute_bls_domain`
|
# Note: Deposits are valid across forks, thus the deposit domain is retrieved directly from `compute_bls_domain`
|
||||||
if not bls_verify(pubkey, signing_root(deposit.data),
|
domain = compute_bls_domain(DOMAIN_DEPOSIT)
|
||||||
deposit.data.signature, compute_bls_domain(DOMAIN_DEPOSIT)):
|
if not bls_verify(pubkey, signing_root(deposit.data), deposit.data.signature, domain):
|
||||||
return
|
return
|
||||||
|
|
||||||
# Add validator and balance entries
|
# Add validator and balance entries
|
||||||
|
|
|
@ -10,7 +10,7 @@ from preset_loader import loader
|
||||||
def shuffling_case(seed, count):
|
def shuffling_case(seed, count):
|
||||||
yield 'seed', '0x' + seed.hex()
|
yield 'seed', '0x' + seed.hex()
|
||||||
yield 'count', count
|
yield 'count', count
|
||||||
yield 'shuffled', [spec.compute_shuffle_index(i, count, seed) for i in range(count)]
|
yield 'shuffled', [spec.compute_shuffled_index(i, count, seed) for i in range(count)]
|
||||||
|
|
||||||
|
|
||||||
@to_tuple
|
@to_tuple
|
||||||
|
|
Loading…
Reference in New Issue