Commit Graph

3066 Commits

Author SHA1 Message Date
Danny Ryan 9ea03dce60
add compute_time_at_slot helper in validator doc 2020-01-06 12:16:47 -07:00
Diederik Loerakker a295451f37
Merge pull request #1555 from ethereum/att-when-ready
add eager attestation broadcasting
2020-01-06 01:15:13 +01:00
protolambda 68d93f945c
online countdown fixes 2020-01-06 00:46:36 +01:00
protolambda 9c07e26a4d
length assert not applicable anymore 2020-01-06 00:25:18 +01:00
protolambda 6b872da3ec
light client bitfield is vector now, small size anyway, better separation of committee complexity from data init 2020-01-06 00:17:48 +01:00
protolambda 2f3919c176
bugfix: pass block body to sub processing functions 2020-01-05 23:51:24 +01:00
protolambda 2e6090fcd8
bugfixes for experimental phase0 -> phase1 fork py code 2020-01-05 23:37:42 +01:00
Danny Ryan 50c8727ae7
make genesis delay configurable 2020-01-05 15:29:23 -07:00
Danny Ryan 8515aec7aa
move GENESIS_SLOT/EPOCH to constants as they are not truly configurable 2020-01-05 15:07:41 -07:00
Danny Ryan 5ac0d12205
Merge pull request #1553 from ethereum/eth1-caching
`get_eth1_data` uses timestamp instead of block height
2020-01-05 14:44:47 -07:00
Danny Ryan 43d095214c
add note that validator should broadcast attestation immediately when receiving block from expected proposer 2020-01-05 14:10:06 -07:00
protolambda a8276f683e
don't hardcode shard count, bad example, need upgradeability 2020-01-05 20:20:20 +01:00
protolambda 018927def0
generalize previous-slot function 2020-01-05 20:11:55 +01:00
protolambda a5faabbf19
Merge branch 'version-pyspec-module' into phase1rebase 2020-01-04 18:28:34 +01:00
Danny Ryan 6dbc02031d
add GENESIS_FORK_VERSION and make associated modifications to support configuration of this variable 2020-01-03 17:48:03 -07:00
Danny Ryan 261b6c0d23
modify get_eth1_data to use timestamp instead of block height 2020-01-03 16:57:04 -07:00
Danny Ryan 7b1a609335
Merge pull request #1549 from status-im/empty-block-response
Allow empty lists in streamed responses
2020-01-03 08:14:51 -07:00
Danny Ryan c9f52d0099
Merge branch 'dev' into phase1rebase 2020-01-03 07:49:23 -07:00
Danny Ryan 0a3cc8a84a
malefactor_key -> malefactor_secret 2020-01-03 07:29:23 -07:00
Carl Beekhuizen 8580ec33f2
'message' -> 'signing_root' 2020-01-03 08:18:34 +01:00
Carl Beekhuizen 51bcb29e28
'DomainWrapper' -> 'SigningRoot' 2020-01-03 07:46:27 +01:00
Carl Beekhuizen a65d96da04
Merge in dev 2020-01-03 07:35:19 +01:00
Danny Ryan defeb4e2fd
Merge pull request #1550 from terencechain/patch-94
`get_filtered_block_tree` typo
2019-12-31 12:39:52 -07:00
Carl Beekhuizen e70863ca93
Bytes4 -> DomainType 2019-12-30 06:52:00 +01:00
Carl Beekhuizen 765176ec8c
PySpec SSZ Bytes instantiated from hex 2019-12-27 09:37:26 +01:00
terence tsao 662a986d04
Update 0_fork-choice.md 2019-12-25 09:51:29 -08:00
Jacek Sieka 850d45dae0
Allow empty lists in streamed responses
It's possible that block request responses end up not containing any
blocks, so we need a way to encode this.
2019-12-21 17:26:14 +01:00
Diederik Loerakker b698eff2a7
Merge pull request #1546 from ethereum/master
Backport v0.9.4 to dev
2019-12-20 21:25:50 +01:00
Carl Beekhuizen 7af4429011
Make bls a module 2019-12-20 08:41:46 +02:00
Carl Beekhuizen 1e410a1290
Fix typo due to change of interface
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
2019-12-20 08:12:43 +02:00
Danny Ryan 780dff76d4
Merge pull request #1540 from ChihChengLiang/note-on-requesting-status-again
Add a note on requesting STATUS again
2019-12-19 14:10:54 -07:00
Danny Ryan e34d22e4f8
bad -> abnormal 2019-12-19 14:04:45 -07:00
Carl Beekhuizen 62cbd0e7da
Revert domain 6 -> 5 to prevent confusion 2019-12-19 15:49:10 +02:00
Carl Beekhuizen 42a3dd4ab1
Implement @djrtwo's review suggestions 2019-12-19 15:47:42 +02:00
Chih Cheng Liang c4b23590d4
Add a note on requesting STATUS again 2019-12-19 18:50:49 +08:00
Danny Ryan 31d90ea799
add p2p faq on why message-id override 2019-12-18 14:46:35 -07:00
Age Manning 8a03e6d291
Add gossipsub message-id specification 2019-12-18 14:20:51 -07:00
Danny Ryan caffe8d720
update ENR to use attesation subnets instead of shards 2019-12-17 16:27:13 -07:00
Danny Ryan fa916323f0
add basics for ENR bitfield 2019-12-17 10:59:15 -07:00
Carl Beekhuizen 177ec939f0
Update ToC 2019-12-17 15:40:26 +02:00
Carl Beekhuizen 995c895b9c
New BLS in Phase 1 2019-12-17 15:33:37 +02:00
Carl Beekhuizen c239ffb78c
Linting fixes 2019-12-17 12:30:46 +02:00
Carl Beekhuizen 80eb721895
Domains are bytes 2019-12-17 12:20:34 +02:00
Carl Beekhuizen 502ee29537
Phase 0 new BLS 2019-12-17 12:04:56 +02:00
Martin Lundfall a4f8a77c02 Fix spelling errors found by codespell 2019-12-16 13:02:36 +01:00
Justin 412a06608c
Update 0_beacon-chain.md 2019-12-15 11:32:11 +00:00
Justin 48317d8ac0
Minor cosmetic cleanups
* remove `BLS_WITHDRAWAL_PREFIX` (it is not used in phase 1, not phase 0)
* avoid inline comment (# Validate state root)
* simplify header inequality check in `process_proposer_slashing` (using uniqueness of BLS signatures)
* add `block = signed_block.message` helper variable for readability
* (typo) clarify that the state transition function consumes a signed block (as opposed to a block)
* generally make comments more consistent
* consistent formatting of container instantiation for `DepositMessage`
* avoid using three lines for `rewards[index] += Gwei(max_attester_reward // attestation.inclusion_delay)`
* introduce `effective_balance` helper variable for readability, and to avoid multi-line statement
* consistent ordering of `MIN_EPOCHS_TO_INACTIVITY_PENALTY` in the time parameters table
* (typo) "Dequeued validators for activation up to churn limit" => Dequeue validators
* "Save current block as the new latest block" => "Cache current block" (for consistent with `process_slot`)
* (typo) "Verify the validator has not yet exited" => "Verify exit has not been initiated"
* Use Pythonic `default=` for `max()` call in `initiate_validator_exit`
2019-12-15 11:10:43 +00:00
Diederik Loerakker 88e954a9c7
Merge pull request #1522 from ethereum/master
backport v093 to dev
2019-12-13 18:56:31 +01:00
Danny Ryan b09c45ffd2
remove last two references to signing root 2019-12-12 12:34:02 -07:00
Danny Ryan 47ecedb81d
update tocs 2019-12-12 09:48:53 -07:00
Danny Ryan 49a8264f5d
Merge branch 'v09x' into toc_ci 2019-12-12 09:47:20 -07:00
Danny Ryan 4a31503ec0
Merge pull request #1516 from ethereum/dup-indices-attest
Fixes #1486: disallow duplicate indices in indexed attestation
2019-12-12 08:32:43 -07:00
Danny Ryan 52a6cf7ba3
Merge pull request #1514 from ethereum/queue-fix-on-finality
Fix queue rate and only activate upon finality
2019-12-12 07:44:57 -07:00
Danny Ryan 199933cb26
fix tocs 2019-12-12 06:57:11 -07:00
Danny Ryan 86fb3acd59
minor changes to finality in activation queue 2019-12-12 06:53:56 -07:00
Danny Ryan 19ec01e4e9
add comment about activation queue sort order
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-12-12 06:43:37 -07:00
ethers 3d48a3e9eb
Fix dead link to use Internet Archive 2019-12-11 18:17:20 -08:00
protolambda 2405060a7e
Fixes #1486: disallow duplicate indices in indexed attestation 2019-12-12 01:45:59 +01:00
Danny Ryan e117b58ae2
add queue eligibility helper 2019-12-11 16:10:18 -07:00
Danny Ryan 6610aeea2f
fix activation queue to finality 2019-12-11 16:00:46 -07:00
Danny Ryan 40025c96dd
Merge pull request #1509 from ethereum/match-slot-target
ensure that epoch of attestation slot matches the target epoch
2019-12-10 13:42:32 -07:00
Danny Ryan 66652d0ebd
Merge pull request #1508 from ethereum/better-best
ensure the best better-justification is stored in fork choice
2019-12-10 13:41:45 -07:00
Danny Ryan 4636b3e824
Merge pull request #1510 from ethereum/genesis-slot-time
explicit use of GENESIS_SLOT in fork choice
2019-12-10 13:41:13 -07:00
Danny Ryan e4d710590a
add test for queue efficiency 2019-12-10 11:49:26 -07:00
Danny Ryan d126162ca8
fix activation queue efficiency 2019-12-10 11:25:55 -07:00
Martin Lundfall ca2b6a0e52 Use consistent header level for TOC generation 2019-12-10 18:29:50 +01:00
Martin Lundfall 12ff64ea1a Update ToC of specs to consistent use of doctoc 2019-12-10 18:29:40 +01:00
Danny Ryan 2c5c9cb71a
feedback from mikhail 2019-12-10 10:14:49 -07:00
Danny Ryan 8861ca0282
minor typo
Co-Authored-By: MrChico <martin.lundfall@protonmail.com>
2019-12-10 10:05:19 -07:00
Danny Ryan 9989f3ea9d
ensure fork choice functions when GENESIS_SLOT != 0 2019-12-09 19:02:16 -07:00
Danny Ryan 432257659e
add asserts to ensure that attestation slot must match the target epoch 2019-12-09 17:31:43 -07:00
Danny Ryan d4d17ecc4e
ensure the best better-justification is stored in fork choice 2019-12-09 16:47:43 -07:00
Danny Ryan 57aeed1473
Merge branch 'v09x' into filter-fc-justified 2019-12-08 12:17:28 -07:00
Danny Ryan e53a6daecc
clarify fliter block tree through two line usage
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-12-08 11:53:45 -07:00
Danny Ryan ce40666003
version pyspec module and test on one attesterslashing test 2019-12-05 15:06:32 -07:00
Diederik Loerakker da17f4b3a8
Merge pull request #1505 from ethereum/v09x
backport V09x
2019-12-05 22:15:47 +01:00
Danny Ryan e31f17f037
modify phase 1 to use new signature (no signing_root) pattern 2019-12-05 13:49:52 -07:00
Danny Ryan a32b0100ff
rebase fixes 2019-12-05 13:31:42 -07:00
Danny Ryan 4bf5eb86c4
fix issues using indexed attestation and custody bit wrapper 2019-12-05 13:31:42 -07:00
Danny Ryan f533fef167
add missing attestation validations; cleanup process_attestations and fix minor bugs 2019-12-05 13:31:41 -07:00
Danny Ryan a1ac0d5a80
fix get_shard_committee 2019-12-05 13:31:41 -07:00
Danny Ryan ddd7cd2964
divide new and old containers out in phase 1 2019-12-05 13:31:41 -07:00
protolambda 72a9dfc430
fix lint problems 2019-12-05 13:31:41 -07:00
protolambda 1623d40b6d
fix: check malefactor custody key 2019-12-05 13:31:41 -07:00
protolambda 41be2ed3ce
bugfix custody bit index lookup + lint fixes 2019-12-05 13:31:40 -07:00
protolambda 1a1c3773f9
implement custody game revamp for new shard proposal: simplifications and immediate processing, since custody data is bounded 2019-12-05 13:31:40 -07:00
protolambda e73316c13f
change configs to be loaded in time; reload specs module to make new config presets effective. Also fix more lint and consistency problems. 2019-12-05 13:30:49 -07:00
Danny Ryan d6bfe5d35c
lint phase 1 (2) 2019-12-05 13:29:52 -07:00
Danny Ryan 9f80a7f703
phase1 lint (1) 2019-12-05 13:29:51 -07:00
Danny Ryan 82c9adce8b
fix phase 1 make build (not lint or tests) 2019-12-05 13:29:51 -07:00
Danny Ryan 79be0345d6
fix call to process_attestation 2019-12-05 13:29:51 -07:00
protolambda 03e956f9c9
validator init adjustments 2019-12-05 13:29:51 -07:00
protolambda 36503f98e4
placeholder: rudimentary phase 0 to phase 1 fork process 2019-12-05 13:29:51 -07:00
protolambda cc0aac3aae
typo 2019-12-05 13:29:50 -07:00
protolambda 74d6021507
PR comment fixes 2019-12-05 13:29:50 -07:00
protolambda 589d5a4f9a
Add notes on custody game spec funcs 2019-12-05 13:29:50 -07:00
protolambda 465f6cb7f0
update readme spec links 2019-12-05 13:29:50 -07:00
protolambda edef2fd8ae
more refactoring: more immediate custody game, general phase1 beacon chain changes 2019-12-05 13:29:50 -07:00
protolambda 7d2341b40d
Note: is_valid_indexed_attestation is overriden 2019-12-05 13:29:49 -07:00
protolambda a33e01dab2
Start making phase1 work in pyspec again 2019-12-05 13:29:49 -07:00