remove record from operation types

This commit is contained in:
Danny Ryan 2018-12-07 12:51:15 -06:00
parent 74ac7e6ee1
commit a0e226c957
No known key found for this signature in database
GPG Key ID: 2765A792E42CE07A

View File

@ -23,18 +23,18 @@
- [Data structures](#data-structures) - [Data structures](#data-structures)
- [Beacon chain operations](#beacon-chain-operations) - [Beacon chain operations](#beacon-chain-operations)
- [Proposer slashings](#proposer-slashings) - [Proposer slashings](#proposer-slashings)
- [`ProposerSlashingRecord`](#proposerslashingrecord) - [`ProposerSlashing`](#proposerslashing)
- [Casper slashings](#casper-slashings) - [Casper slashings](#casper-slashings)
- [`CasperSlashingRecord`](#casperslashingrecord) - [`CasperSlashing`](#casperslashing)
- [`SpecialAttestationData`](#specialattestationdata) - [`SpecialAttestationData`](#specialattestationdata)
- [Attestations](#attestations) - [Attestations](#attestations)
- [`AttestationRecord`](#attestationrecord) - [`Attestation`](#attestation)
- [`AttestationData`](#attestationdata) - [`AttestationData`](#attestationdata)
- [Deposits](#deposits) - [Deposits](#deposits)
- [`DepositRecord`](#depositrecord) - [`Deposit`](#deposit)
- [`DepositParametersRecord`](#depositparametersrecord) - [`DepositParameters`](#depositparameters)
- [Exits](#exits) - [Exits](#exits)
- [`ExitRecord`](#exitrecord) - [`Exit`](#exit)
- [Beacon chain blocks](#beacon-chain-blocks) - [Beacon chain blocks](#beacon-chain-blocks)
- [`BeaconBlock`](#beaconblock) - [`BeaconBlock`](#beaconblock)
- [`BeaconBlockBody`](#beaconblockbody) - [`BeaconBlockBody`](#beaconblockbody)
@ -80,7 +80,7 @@
- [Proposer signature](#proposer-signature) - [Proposer signature](#proposer-signature)
- [RANDAO](#randao) - [RANDAO](#randao)
- [PoW receipt root](#pow-receipt-root) - [PoW receipt root](#pow-receipt-root)
- [Operations](#operations) - [Block operations](#block-operations)
- [Proposer slashings](#proposer-slashings-1) - [Proposer slashings](#proposer-slashings-1)
- [Casper slashings](#casper-slashings-1) - [Casper slashings](#casper-slashings-1)
- [Attestations](#attestations-1) - [Attestations](#attestations-1)
@ -235,7 +235,7 @@ Unless otherwise indicated, code appearing in `this style` is to be interpreted
#### Proposer slashings #### Proposer slashings
##### `ProposerSlashingRecord` ##### `ProposerSlashing`
```python ```python
{ {
@ -254,7 +254,7 @@ Unless otherwise indicated, code appearing in `this style` is to be interpreted
#### Casper slashings #### Casper slashings
##### `CasperSlashingRecord` ##### `CasperSlashing`
```python ```python
{ {
@ -282,7 +282,7 @@ Unless otherwise indicated, code appearing in `this style` is to be interpreted
#### Attestations #### Attestations
##### `AttestationRecord` ##### `Attestation`
```python ```python
{ {
@ -322,7 +322,7 @@ Unless otherwise indicated, code appearing in `this style` is to be interpreted
#### Deposits #### Deposits
##### `DepositRecord` ##### `Deposit`
```python ```python
{ {
@ -333,7 +333,7 @@ Unless otherwise indicated, code appearing in `this style` is to be interpreted
# Deposit data # Deposit data
'deposit_data': { 'deposit_data': {
# Deposit parameters # Deposit parameters
'deposit_parameters': DepositParametersRecord, 'deposit_parameters': DepositParameters,
# Value in Gwei # Value in Gwei
'value': 'uint64', 'value': 'uint64',
# Timestamp from deposit contract # Timestamp from deposit contract
@ -342,7 +342,7 @@ Unless otherwise indicated, code appearing in `this style` is to be interpreted
} }
``` ```
##### `DepositParametersRecord` ##### `DepositParameters`
```python ```python
{ {
@ -359,7 +359,7 @@ Unless otherwise indicated, code appearing in `this style` is to be interpreted
#### Exits #### Exits
##### `ExitRecord` ##### `Exit`
```python ```python
{ {
@ -397,11 +397,11 @@ Unless otherwise indicated, code appearing in `this style` is to be interpreted
```python ```python
{ {
'attestations': [AttestationRecord], 'attestations': [Attestation],
'proposer_slashings': [ProposerSlashingRecord], 'proposer_slashings': [ProposerSlashing],
'casper_slashings': [CasperSlashingRecord], 'casper_slashings': [CasperSlashing],
'deposits': [DepositRecord], 'deposits': [Deposit],
'exits': [ExitRecord], 'exits': [Exit],
} }
``` ```
@ -565,7 +565,7 @@ The initial deployment phases of Ethereum 2.0 are implemented without consensus
### Deposit arguments ### Deposit arguments
The deposit contract has a single `deposit` function which takes as argument a SimpleSerialize'd `DepositParametersRecord`. One of the `DepositParametersRecord` fields is `withdrawal_credentials` which must satisfy: The deposit contract has a single `deposit` function which takes as argument a SimpleSerialize'd `DepositParameters`. One of the `DepositParameters` fields is `withdrawal_credentials` which must satisfy:
* `withdrawal_credentials[:1] == BLS_WITHDRAWAL_CREDENTIALS` * `withdrawal_credentials[:1] == BLS_WITHDRAWAL_CREDENTIALS`
* `withdrawal_credentials[1:] == hash(withdrawal_pubkey)[1:]` where `withdrawal_pubkey` is a BLS pubkey * `withdrawal_credentials[1:] == hash(withdrawal_pubkey)[1:]` where `withdrawal_pubkey` is a BLS pubkey
@ -1265,7 +1265,7 @@ If there is no block from the proposer at state.slot:
* If `block.candidate_pow_receipt_root` is `x.candidate_pow_receipt_root` for some `x` in `state.candidate_pow_receipt_roots`, set `x.votes += 1`. * If `block.candidate_pow_receipt_root` is `x.candidate_pow_receipt_root` for some `x` in `state.candidate_pow_receipt_roots`, set `x.votes += 1`.
* Otherwise, append to `state.candidate_pow_receipt_roots` a new `CandidatePoWReceiptRootRecord(candidate_pow_receipt_root=block.candidate_pow_receipt_root, votes=1)`. * Otherwise, append to `state.candidate_pow_receipt_roots` a new `CandidatePoWReceiptRootRecord(candidate_pow_receipt_root=block.candidate_pow_receipt_root, votes=1)`.
### Operations ### Block operations
#### Proposer slashings #### Proposer slashings
@ -1321,7 +1321,7 @@ Verify that `len(block.body.deposits) <= MAX_DEPOSITS`.
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 `DepositParametersRecord` 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.
* Use the following procedure to verify `deposit.merkle_branch`, setting `leaf=serialized_deposit_data`, `depth=DEPOSIT_CONTRACT_TREE_DEPTH` and `root=state.processed_pow_receipt_root`: * Use the following procedure to verify `deposit.merkle_branch`, setting `leaf=serialized_deposit_data`, `depth=DEPOSIT_CONTRACT_TREE_DEPTH` and `root=state.processed_pow_receipt_root`:
```python ```python