Commit Graph

462 Commits

Author SHA1 Message Date
Ben Edgington 61f7e37eff Replace numeric constant with symbolic in Vyper contract
Vyper v0.1.0-beta.6 supports ranges with symbolic constants.
2019-01-08 19:42:22 +00:00
Danny Ryan 9dfc459849
Merge pull request #406 from terenc3t/patch-29
inclusion_slot and inclusion_distance in its own section
2019-01-08 10:49:14 -07:00
Danny Ryan 197b88df92
Merge pull request #404 from akhila-raju/patch-2
Removes naming conflict in get_shuffling.
2019-01-08 09:57:56 -07:00
Danny Ryan 609082c1af
change slot_num to slot_position 2019-01-08 09:57:15 -07:00
Danny Ryan 78ee210d56
fix seed xor in get_shuffling using bytes32 2019-01-08 09:51:12 -07:00
Danny Ryan fff0989b8c
fix call to hash (from Hash32) 2019-01-08 09:35:51 -07:00
Danny Ryan f6453a7455
Merge branch 'master' into JustinDrake-patch-1 2019-01-08 10:09:30 -06:00
Danny Ryan 9f87511632
Merge pull request #372 from terenc3t/patch-25
Rewording Validator Registry Precondition
2019-01-08 08:43:59 -07:00
terence tsao 4dab5fc72c
Update 0_beacon-chain.md 2019-01-07 15:55:05 -08:00
Akhila Raju b78458bbb2
Removes naming conflict in get_shuffling.
The variable name 'slot' in the for-loop in 'get_shuffling' conflicts with the get_shuffling argument name 'slot'. Renames 'slot' in for-loop to 'slot_num'.
2019-01-07 13:06:44 -05:00
Danny Ryan 14e14ce576
Merge pull request #397 from ralexstokes/fix-merkle-bug
Fixes bug with Merkle proof branch selection
2019-01-07 09:45:42 -07:00
Hsiao-Wei Wang e772c4da6f
Merge branch 'master' into rename_pow_to_deposit 2019-01-07 14:02:11 +08:00
Alex Stokes c69fa9a793
Fixes typo in `sorted` function.
In keeping with the rest of the code in this document we adhere to valid Python
where possible.

The custom comparator keyword argument for `sorted` is `key` so this commit
updates its usage when sorting validators by exit order.
2019-01-06 17:41:11 -06:00
Danny Ryan fd2cc6956f
Merge branch 'master' into vbuterin-patch-19 2019-01-05 08:53:04 -07:00
Alex Stokes a0e454d86c
Fixes bug with Merkle proof branch selection
This code determines the order in which the next branch element and the
current value should be hashed to produce the parent node in the Merkle tree.

The existing code fails to verify branches constructed in the standard way.

This patch fixes the spec code so that it works properly by using an appropriate
parity calculation.

Example code here to illustrate it working:
https://gist.github.com/ralexstokes/9d82e188bd3286ff74a1fa1dcb5068e0
2019-01-04 09:48:50 -06:00
vbuterin c24f907088
Put back spaces 2019-01-04 09:22:59 -06:00
Hsiao-Wei Wang 88de4e35f2
Merge pull request #395 from terenc3t/patch-28
Get shard_block_root from crosslink
2019-01-04 16:04:43 +08:00
Hsiao-Wei Wang fa08e240c8
Merge branch 'master' into HEAD 2019-01-04 15:55:03 +08:00
Hsiao-Wei Wang 61b2b6392c
bugfix and rename
Use `deposit_root_vote` for `DepositRootVote` object and `deposit_root` for the
deposit root hash.
2019-01-04 15:54:48 +08:00
Danny Ryan 36231e698a
Apply suggestions from code review
Co-Authored-By: hwwhww <hwwang156@gmail.com>
2019-01-04 15:54:35 +08:00
Danny Ryan e3c4155ba5
Merge pull request #393 from terenc3t/patch-27
Align Field Names with Phase 0 Spec
2019-01-03 21:48:14 -07:00
Danny Ryan d360330f83
Merge pull request #394 from ralexstokes/fix-update-validator-registry-fn
Remove dangling `return` statement from spec function
2019-01-03 21:46:34 -07:00
Danny Ryan a84dd398e4
Merge pull request #392 from ralexstokes/fix-units-ejection-balance
Fix a type error with units of wei when determining ejection balance.
2019-01-03 21:44:08 -07:00
Danny Ryan d5e6d84269
Merge pull request #391 from ralexstokes/typo/hash-slot
Change "justified hash" to "justified slot"
2019-01-03 21:43:12 -07:00
terence tsao 97bd04607c
Update 0_beacon-chain.md 2019-01-03 19:40:03 -08:00
terence tsao c0140d72ee
Update 0_beacon-chain.md 2019-01-03 18:23:23 -08:00
vbuterin a5b1f2cc0a
Moved comment and changed conditional 2019-01-03 19:44:39 -06:00
vbuterin 3f4be7abb7
Fixed activation slot conditional. 2019-01-03 19:42:59 -06:00
Alex Stokes 19a9582a48
Remove dangling `return` statement from spec function
This function declares that it returns `None` and instead directly mutates the
state.

There is a dangling return statement that this commit deletes.
2019-01-03 19:42:07 -06:00
terence tsao 19b1a31903
Update 1_shard-data-chains.md 2019-01-03 13:57:04 -08:00
Alex Stokes 9a83ad7b9b
Fix a type error with units of wei when determining ejection balance.
`EJECTION_BALANCE` is in units of ETH.

`state.validator_balances[index]` is in units of Gwei.

For the ejection computation to work as desired, we need to convert the
`EJECTION_BALANCE` constant from ETH to Gwei.
2019-01-03 14:28:36 -06:00
Alex Stokes 457f84fa64
Change "justified hash" to "justified slot"
There should be a correspondence here but referring to the slot is more
explicit, especially for those who are not as familiar with the
details of FFG finalization.
2019-01-03 12:06:44 -06:00
Hsiao-Wei Wang f92735454e
Fix `verify_slashable_vote_data`
The first field of `AttestationDataAndCustodyBit` should be an `AttestationData` object, not an `SlashableVoteData` object.
2019-01-03 16:19:54 +08:00
Hsiao-Wei Wang b614595fbe
Merge branch 'master' into vbuterin-patch-19 2019-01-03 00:26:31 +08:00
Hsiao-Wei Wang af8ed89170
Merge branch 'master' into rename_pow_to_deposit 2019-01-03 00:10:18 +08:00
Hsiao-Wei Wang 78e73633bc
Merge pull request #382 from ethereum/remove_shard_reassignment_record
Remove `ShardReassignmentRecord`
2019-01-02 23:48:04 +08:00
Hsiao-Wei Wang dcaf510213
Merge branch 'master' into rename_pow_to_deposit 2019-01-02 23:44:12 +08:00
Justin 3efe1b3b6c
Update 0_beacon-chain.md 2019-01-02 15:21:22 +00:00
Justin 429e5721f2
RANDAO hash chain and no stale shuffles
* Make RANDAO into a hash chain (this makes it easy for applications to prove the intermediate RANDAO reveals).
* Include `state.slot` when shuffle to avoid stale shuffles with skip slots
2019-01-02 14:20:01 +00:00
Justin 93b18d5160
Fix typo 2019-01-02 13:51:57 +00:00
Justin 696bf23b5e
Remove returned value for process_deposit
Also trim trailing whitespace
2019-01-02 13:41:32 +00:00
Justin 7d240946a9
Update 0_beacon-chain.md
* Cleanup comments related to custody
* Rename "Miscellaneous" to "Custody" in the table of contents
* Use `INITIAL_SLOT_NUMBER` instead of `0` for initial custody slots
* (typo) Fix `second_latest_custody_reseed_slot` => `penultimate_custody_reseed_slot`
2019-01-02 13:35:57 +00:00
Justin 9a90803f5c
Update 0_beacon-chain.md
* `processed_deposit_root` => `latest_deposit_root`
* `receipt_root` => `deposit_root`
* `receipt_tree` => `deposit_tree`
* Emphasize that deposits are Ethereum 1.0 deposits in text in various places
* `Eth1Deposit` => `Deposit` for consistency (Also happy sticking with `Eth1Deposit` and replacing `deposit_` with `eth1_deposit_` everywhere. This may be unnecessary since Ethereum 2.0 deposits can be distinguished with the `shard_` prefix, e.g. `ShardDeposit` and `shard_deposit`.)
* Clarify `withdrawal_credentials`.
* Clarify that multiple Ethereum 1.0 blocks can have the same deposit root.
2019-01-02 13:18:35 +00:00
Hsiao-Wei Wang 3dbee05aa6
Rename `pow_receipt_` to `deposit_` 2019-01-02 18:27:09 +08:00
Hsiao-Wei Wang 35adc9c61a
Remove `ShardReassignmentRecord` 2019-01-02 15:31:57 +08:00
Hsiao-Wei Wang 0d9ecce344
Rename `poc_` to `custody` 2019-01-02 15:16:55 +08:00
vbuterin 2105614059
Bunch of fixes 2019-01-01 22:37:43 -06:00
vbuterin fdb1b6775d
Removed extraneous variable setting 2018-12-31 14:08:59 -06:00
Justin fd295eb539
Merge branch 'master' into vbuterin-patch-19 2018-12-31 15:17:00 +00:00
Justin d36b403c2e
Cleanups and fixes
Cleanups

* (typo) Remove `get_new_validator_registry_delta_chain_tip` from table of contents
* (typo) Update "Routines for updating validator status" in table of contents
* Update `FAR_FUTURE_SLOT` from `2**63` to `2**64 - 1`
* Put more constants in "Initial values", homogenise
* Cleanup note formatting
* Remove `ZERO_BALANCE_VALIDATOR_TTL` logic (to be possibly reintroduced in phase 2).
* Cleanup `min_empty_validator_index`
* Rename `deposit` to `amount` in `process_deposit` and `DepositData`.
* (typo) Remove new line under `process_penalties_and_exits`
* (typo) "Status codes" => "Status flags" in the table of contents
* (typo) `(state.slot - EPOCH_LENGTH) % LATEST_RANDAO_MIXES_LENGTH` => Use `SEED_LOOKAHEAD` instead.
* Put `state.validator_registry_latest_change_slot = state.slot` in `update_validator_registry`.
* Use `GENESIS_SLOT` for `last_poc_change_slot=0` and `second_last_poc_change_slot=0`.

Bugfixes

* (typo) `validator_exit` => `exit.validator_index`
* Separate initial deposits and initial activations to avoid double activations
* Replace `proposer.status != EXITED_WITH_PENALTY` with `validator.penalized_slot > state.slot` in two different places.
* Replace `status == EXITED_WITH_PENALTY` with `validator.penalized_slot <= state.slot` (and validator active) in two different places.
2018-12-31 15:14:14 +00:00