Rename ACTIVATION_EXIT_DELAY to MAX_SEED_LOOKAHEAD for phase 1

This commit is contained in:
Justin Drake 2019-09-23 19:07:10 +01:00 committed by Danny Ryan
parent a183125595
commit e7db58cb7e
No known key found for this signature in database
GPG Key ID: 2765A792E42CE07A
6 changed files with 11 additions and 11 deletions

View File

@ -60,7 +60,7 @@ SLOTS_PER_EPOCH: 64
# 2**0 (= 1) epochs 6.4 minutes # 2**0 (= 1) epochs 6.4 minutes
MIN_SEED_LOOKAHEAD: 1 MIN_SEED_LOOKAHEAD: 1
# 2**2 (= 4) epochs 25.6 minutes # 2**2 (= 4) epochs 25.6 minutes
ACTIVATION_EXIT_DELAY: 4 MAX_SEED_LOOKAHEAD: 4
# 2**10 (= 1,024) slots ~1.7 hours # 2**10 (= 1,024) slots ~1.7 hours
SLOTS_PER_ETH1_VOTING_PERIOD: 1024 SLOTS_PER_ETH1_VOTING_PERIOD: 1024
# 2**13 (= 8,192) slots ~13 hours # 2**13 (= 8,192) slots ~13 hours

View File

@ -59,7 +59,7 @@ SLOTS_PER_EPOCH: 8
# 2**0 (= 1) epochs # 2**0 (= 1) epochs
MIN_SEED_LOOKAHEAD: 1 MIN_SEED_LOOKAHEAD: 1
# 2**2 (= 4) epochs # 2**2 (= 4) epochs
ACTIVATION_EXIT_DELAY: 4 MAX_SEED_LOOKAHEAD: 4
# [customized] higher frequency new deposits from eth1 for testing # [customized] higher frequency new deposits from eth1 for testing
SLOTS_PER_ETH1_VOTING_PERIOD: 16 SLOTS_PER_ETH1_VOTING_PERIOD: 16
# [customized] smaller state # [customized] smaller state

View File

@ -210,7 +210,7 @@ The following values are (non-configurable) constants used throughout the specif
| `MIN_ATTESTATION_INCLUSION_DELAY` | `2**0` (= 1) | slots | 6 seconds | | `MIN_ATTESTATION_INCLUSION_DELAY` | `2**0` (= 1) | slots | 6 seconds |
| `SLOTS_PER_EPOCH` | `2**6` (= 64) | slots | 6.4 minutes | | `SLOTS_PER_EPOCH` | `2**6` (= 64) | slots | 6.4 minutes |
| `MIN_SEED_LOOKAHEAD` | `2**0` (= 1) | epochs | 6.4 minutes | | `MIN_SEED_LOOKAHEAD` | `2**0` (= 1) | epochs | 6.4 minutes |
| `ACTIVATION_EXIT_DELAY` | `2**2` (= 4) | epochs | 25.6 minutes | | `MAX_SEED_LOOKAHEAD` | `2**2` (= 4) | epochs | 25.6 minutes |
| `SLOTS_PER_ETH1_VOTING_PERIOD` | `2**10` (= 1,024) | slots | ~1.7 hours | | `SLOTS_PER_ETH1_VOTING_PERIOD` | `2**10` (= 1,024) | slots | ~1.7 hours |
| `SLOTS_PER_HISTORICAL_ROOT` | `2**13` (= 8,192) | slots | ~13 hours | | `SLOTS_PER_HISTORICAL_ROOT` | `2**13` (= 8,192) | slots | ~13 hours |
| `MIN_VALIDATOR_WITHDRAWABILITY_DELAY` | `2**8` (= 256) | epochs | ~27 hours | | `MIN_VALIDATOR_WITHDRAWABILITY_DELAY` | `2**8` (= 256) | epochs | ~27 hours |
@ -779,7 +779,7 @@ def compute_activation_exit_epoch(epoch: Epoch) -> Epoch:
""" """
Return the epoch during which validator activations and exits initiated in ``epoch`` take effect. Return the epoch during which validator activations and exits initiated in ``epoch`` take effect.
""" """
return Epoch(epoch + 1 + ACTIVATION_EXIT_DELAY) return Epoch(epoch + 1 + MAX_SEED_LOOKAHEAD)
``` ```
#### `compute_domain` #### `compute_domain`

View File

@ -673,7 +673,7 @@ def process_chunk_challenge_response(state: BeaconState,
# Verify bit challenge data is null # Verify bit challenge data is null
assert response.chunk_bits_branch == [] and response.chunk_bits_leaf == Hash() assert response.chunk_bits_branch == [] and response.chunk_bits_leaf == Hash()
# Verify minimum delay # Verify minimum delay
assert get_current_epoch(state) >= challenge.inclusion_epoch + ACTIVATION_EXIT_DELAY assert get_current_epoch(state) >= challenge.inclusion_epoch + MAX_SEED_LOOKAHEAD
# Verify the chunk matches the crosslink data root # Verify the chunk matches the crosslink data root
assert is_valid_merkle_branch( assert is_valid_merkle_branch(
leaf=hash_tree_root(response.chunk), leaf=hash_tree_root(response.chunk),

View File

@ -114,7 +114,7 @@ Once a validator has been processed and added to the beacon state's `validators`
### Activation ### Activation
In normal operation, the validator is quickly activated, at which point the validator is added to the shuffling and begins validation after an additional `ACTIVATION_EXIT_DELAY` epochs (25.6 minutes). In normal operation, the validator is quickly activated, at which point the validator is added to the shuffling and begins validation after an additional `MAX_SEED_LOOKAHEAD` epochs (25.6 minutes).
The function [`is_active_validator`](../core/0_beacon-chain.md#is_active_validator) can be used to check if a validator is active during a given epoch. Usage is as follows: The function [`is_active_validator`](../core/0_beacon-chain.md#is_active_validator) can be used to check if a validator is active during a given epoch. Usage is as follows:

View File

@ -21,7 +21,7 @@ def test_activation(spec, state):
index = 0 index = 0
mock_deposit(spec, state, index) mock_deposit(spec, state, index)
for _ in range(spec.ACTIVATION_EXIT_DELAY + 1): for _ in range(spec.MAX_SEED_LOOKAHEAD + 1):
next_epoch(spec, state) next_epoch(spec, state)
yield from run_process_registry_updates(spec, state) yield from run_process_registry_updates(spec, state)
@ -73,7 +73,7 @@ def test_ejection(spec, state):
# Mock an ejection # Mock an ejection
state.validators[index].effective_balance = spec.EJECTION_BALANCE state.validators[index].effective_balance = spec.EJECTION_BALANCE
for _ in range(spec.ACTIVATION_EXIT_DELAY + 1): for _ in range(spec.MAX_SEED_LOOKAHEAD + 1):
next_epoch(spec, state) next_epoch(spec, state)
yield from run_process_registry_updates(spec, state) yield from run_process_registry_updates(spec, state)