1083 Commits

Author SHA1 Message Date
Hsiao-Wei Wang
7715a48cc8
Merge pull request #401 from ralexstokes/fix-sorted-typo
Fixes typo in `sorted` function.
2019-01-07 13:52:31 +08:00
Cayman
140ee1ade9
Fix hash function link 2019-01-06 23:10:33 -06: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
vbuterin
c63803a4ec
Merge pull request #374 from ethereum/vbuterin-patch-19
Status code / slot reorganization
2019-01-06 14:17:58 -06:00
Cayman
cebbe7b7c5
Fix minor variable name mismatch 2019-01-06 13:05:27 -06:00
Danny Ryan
fd2cc6956f
Merge branch 'master' into vbuterin-patch-19 2019-01-05 08:53:04 -07:00
Cayman
fb17be0e9b
Fix deserialize uint bounds logic
Array accesses should be relative to uint byte length, not bit length.
2019-01-04 11:14:27 -06: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
Danny Ryan
cf6b296ab0
Merge pull request #390 from ethereum/hwwhww-patch-1
Fix `verify_slashable_vote_data`
2019-01-03 21:41:50 -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
Hsiao-Wei Wang
17b5305c97
Merge pull request #381 from ethereum/rename_custody
Rename `poc_` to `custody_`
2019-01-02 23:38:00 +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
Alex Stokes
d49b6e5087 Fix typo with missing bracket (#379) 2018-12-31 23:35:09 +00: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
Danny Ryan
8f29bcdf08
Merge pull request #373 from ethereum/fix-slashing
fix slashing conditons
2018-12-31 07:57:51 -06:00
vbuterin
102f6f480e
Merge pull request #377 from terenc3t/patch-26
concatenation for hash function
2018-12-30 21:15:40 -06:00
vbuterin
011970169c
Edited as per Justin's comments 2018-12-30 20:42:05 -06:00
terence tsao
c8ff723514
Update 0_beacon-chain.md 2018-12-30 16:06:33 -08:00