Commit Graph

735 Commits

Author SHA1 Message Date
Alex Stokes 4cf06d908a
Truncate the index into the Merkle tree to bytes[8]
The beacon chain expects a `uint64` in part to avoid big-int computation.
This commit updates the `Deposit` log so that it broadcasts data of the
appropriate size.
2019-01-09 17:18:15 -06:00
Alex Stokes d62834654f
Broadcast `merkle_tree_index` in lieu of the deposit count 2019-01-09 17:02:19 -06:00
Alex Stokes 7a6854aab9
Fix variable name that was lost in botched rebase 2019-01-09 16:52:43 -06:00
Alex Stokes f49f7eddf9
Use the correct name for the `amount` field 2019-01-09 14:44:06 -06:00
Alex Stokes c5de2fe710
Add missing deposit root when performing Merkle verification 2019-01-09 14:37:51 -06:00
Alex Stokes 6f5a865508
Reorder type so the ssz serialization matches other uses
There is an order based on the Vyper deposit contract which should be maintained
here. There is also a reference to it when processing `Deposit` messages.

This commit corrects the order here so all serializations will match.
2019-01-09 14:35:26 -06:00
Justin 4ea430207b
Update 0_beacon-chain.md 2019-01-09 14:12:47 -06:00
Alex Stokes dff84c00b0
Fixes bugs with description of deposit verification.
1. The order of the `deposit_data` serialization does not match the current
Vyper contract. The description now matches that serialization.

2. The `deposit.merkle_tree_index` was not being used (at least explicitly) so
the text now reflects which inputs are to be used for which parameters in the
pseudocode spec that follows.

3. There seems to be a bug where we want the initial leaf to be the `hash` of
the `DepositData`, not the data itself. The text now reflects this requirement.
2019-01-09 14:08:24 -06:00
Alex Stokes 5f19622f86
Add clarifying comment about where this index is coming from 2019-01-09 14:06:45 -06:00
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
Danny Ryan 58bb609780
Merge pull request #400 from wemeetagain/ssz/fix-deserialize-container-variable-names
Fix minor variable name mismatch
2019-01-07 08:43:27 -07:00
Danny Ryan 92747579cd
Merge pull request #398 from wemeetagain/ssz/fix-deserialize-uint
Fix deserialize uint bounds logic
2019-01-07 08:13:56 -07:00
Danny Ryan 31d4ca594d
conform to standard 2019-01-07 08:13:26 -07:00
Hsiao-Wei Wang a6851cfd2a
Merge pull request #402 from wemeetagain/ssz/fix-hash-function-link
Fix hash function link
2019-01-07 16:38:27 +08:00
Hsiao-Wei Wang 6fc131433c
Update specs/simple-serialize.md
Co-Authored-By: wemeetagain <caymannava@gmail.com>
2019-01-07 00:54:40 -06:00
Hsiao-Wei Wang e772c4da6f
Merge branch 'master' into rename_pow_to_deposit 2019-01-07 14:02:11 +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
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
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