cleanups
This commit is contained in:
parent
9cff4ae653
commit
03901ffe65
|
@ -71,9 +71,11 @@
|
||||||
- [`bytes1`, `bytes2`, ...](#bytes1-bytes2-)
|
- [`bytes1`, `bytes2`, ...](#bytes1-bytes2-)
|
||||||
- [`get_effective_balance`](#get_effective_balance)
|
- [`get_effective_balance`](#get_effective_balance)
|
||||||
- [`get_new_validator_registry_delta_chain_tip`](#get_new_validator_registry_delta_chain_tip)
|
- [`get_new_validator_registry_delta_chain_tip`](#get_new_validator_registry_delta_chain_tip)
|
||||||
|
- [`get_fork_version`](#get_fork_version)
|
||||||
- [`get_domain`](#get_domain)
|
- [`get_domain`](#get_domain)
|
||||||
- [`verify_casper_votes`](#verify_casper_votes)
|
- [`verify_casper_votes`](#verify_casper_votes)
|
||||||
- [`integer_squareroot`](#integer_squareroot)
|
- [`integer_squareroot`](#integer_squareroot)
|
||||||
|
- [`BLSVerify`](#blsverify)
|
||||||
- [On startup](#on-startup)
|
- [On startup](#on-startup)
|
||||||
- [Routine for activating a validator](#routine-for-activating-a-validator)
|
- [Routine for activating a validator](#routine-for-activating-a-validator)
|
||||||
- [Routine for exiting a validator](#routine-for-exiting-a-validator)
|
- [Routine for exiting a validator](#routine-for-exiting-a-validator)
|
||||||
|
@ -959,6 +961,17 @@ def get_new_validator_registry_delta_chain_tip(current_validator_registry_delta_
|
||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### `get_fork_version`
|
||||||
|
|
||||||
|
```python
|
||||||
|
def get_fork_version(fork_data: ForkData,
|
||||||
|
slot: int) -> int:
|
||||||
|
if slot < fork_data.fork_slot:
|
||||||
|
return fork_data.pre_fork_version
|
||||||
|
else:
|
||||||
|
return fork_data.post_fork_version
|
||||||
|
```
|
||||||
|
|
||||||
#### `get_domain`
|
#### `get_domain`
|
||||||
|
|
||||||
```python
|
```python
|
||||||
|
@ -998,6 +1011,10 @@ def integer_squareroot(n: int) -> int:
|
||||||
return x
|
return x
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### `BLSVerify`
|
||||||
|
|
||||||
|
`BLSVerify` is a function for verifying a BLS12-381 signature, defined in the [BLS12-381 spec](https://github.com/ethereum/eth2.0-specs/blob/master/specs/bls_verify.md).
|
||||||
|
|
||||||
### On startup
|
### On startup
|
||||||
|
|
||||||
A valid block with slot `INITIAL_SLOT_NUMBER` (a "genesis block") has the following values. Other validity rules (e.g. requiring a signature) do not apply.
|
A valid block with slot `INITIAL_SLOT_NUMBER` (a "genesis block") has the following values. Other validity rules (e.g. requiring a signature) do not apply.
|
||||||
|
@ -1094,9 +1111,7 @@ def on_startup(initial_validator_entries: List[Any],
|
||||||
|
|
||||||
### Routine for processing deposits
|
### Routine for processing deposits
|
||||||
|
|
||||||
These logs should be processed in the order in which they are emitted by Ethereum 1.0.
|
First, a helper function:
|
||||||
|
|
||||||
First, some helper functions:
|
|
||||||
|
|
||||||
```python
|
```python
|
||||||
def min_empty_validator_index(validators: List[ValidatorRecord], current_slot: int) -> int:
|
def min_empty_validator_index(validators: List[ValidatorRecord], current_slot: int) -> int:
|
||||||
|
@ -1104,17 +1119,9 @@ def min_empty_validator_index(validators: List[ValidatorRecord], current_slot: i
|
||||||
if v.balance == 0 and v.latest_status_change_slot + ZERO_BALANCE_VALIDATOR_TTL <= current_slot:
|
if v.balance == 0 and v.latest_status_change_slot + ZERO_BALANCE_VALIDATOR_TTL <= current_slot:
|
||||||
return i
|
return i
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def get_fork_version(fork_data: ForkData,
|
|
||||||
slot: int) -> int:
|
|
||||||
if slot < fork_data.fork_slot:
|
|
||||||
return fork_data.pre_fork_version
|
|
||||||
else:
|
|
||||||
return fork_data.post_fork_version
|
|
||||||
```
|
```
|
||||||
|
|
||||||
`BLSVerify` is a function for verifying a BLS12-381 signature, defined in the [BLS12-381 spec](https://github.com/ethereum/eth2.0-specs/blob/master/specs/bls_verify.md).
|
Now, to add a [validator](#dfn-validator) or top up an existing [validator](#dfn-validator)'s balance by some `deposit` amount:
|
||||||
Now, to add a [validator](#dfn-validator) or top up an existing [validator](#dfn-validator)'s balance:
|
|
||||||
|
|
||||||
```python
|
```python
|
||||||
def process_deposit(state: BeaconState,
|
def process_deposit(state: BeaconState,
|
||||||
|
@ -1353,6 +1360,8 @@ For each `attestation` in `block.body.attestations`:
|
||||||
|
|
||||||
Verify that `len(block.body.deposits) <= MAX_DEPOSITS`.
|
Verify that `len(block.body.deposits) <= MAX_DEPOSITS`.
|
||||||
|
|
||||||
|
[TODO: add logic to ensure that deposits from 1.0 chain are processed in order:]
|
||||||
|
|
||||||
For each `deposit` in `block.body.deposits`:
|
For each `deposit` in `block.body.deposits`:
|
||||||
|
|
||||||
* Let `serialized_deposit_data` be the serialized form of `deposit.deposit_data`. It should be the `DepositParameters` followed by 8 bytes for `deposit_data.value` and 8 bytes for `deposit_data.timestamp`. That is, it should match `deposit_data` in the [Ethereum 1.0 deposit contract](#ethereum-10-chain-deposit-contract) of which the hash was placed into the Merkle tree.
|
* Let `serialized_deposit_data` be the serialized form of `deposit.deposit_data`. It should be the `DepositParameters` followed by 8 bytes for `deposit_data.value` and 8 bytes for `deposit_data.timestamp`. That is, it should match `deposit_data` in the [Ethereum 1.0 deposit contract](#ethereum-10-chain-deposit-contract) of which the hash was placed into the Merkle tree.
|
||||||
|
|
Loading…
Reference in New Issue