Commit Graph

3195 Commits

Author SHA1 Message Date
Paul Hauner
57dfd2c898 Merge remote-tracking branch 'origin/network-clean' into eth1-deploy 2019-11-29 17:09:01 +11:00
Paul Hauner
2537f7c0ca Merge branch 'fork-choice-restore' into eth1-deploy 2019-11-29 17:03:07 +11:00
Paul Hauner
1ba1c671da Shorten slot time for simulator 2019-11-29 17:02:09 +11:00
Paul Hauner
7da8003f45 Add fork choice persistence 2019-11-29 16:45:27 +11:00
Paul Hauner
864955e743 Add HeadTracker struct 2019-11-29 16:14:46 +11:00
Age Manning
1c1b3ff807 Merge in latest master 2019-11-29 13:23:03 +11:00
Pawan Dhananjay
3a05c6f924 Reduced tree encode/decode (#624)
* Fix custom derive macros

* Add `ReducedTreeSsz` to encode/decode `ReducedTree` to/from bytes

* Add test for bytes conversion

* Improve error handling

* Improve conversion functions

* Remove unnecessary modifiers

* Address Paul's review comments
2019-11-29 13:21:31 +11:00
Paul Hauner
0af57475c0 Merge branch 'master' into eth1-deploy 2019-11-29 13:18:29 +11:00
Paul Hauner
3fd482263e Merge branch 'master' into eth1-deploy 2019-11-29 13:17:06 +11:00
Age Manning
a310292712 Updates libp2p to v0.13 (#646) 2019-11-29 13:15:38 +11:00
Age Manning
12e32bd789 RPC Corrections and deadlock fix (#640)
* Correct goodbye handling and fix deadlock

* Correct typo
2019-11-29 13:04:44 +11:00
Age Manning
4cd6178bca Apply reviewers suggestions 2019-11-29 12:21:19 +11:00
Age Manning
1259883de6 Correct and consolidate RPC protocol names (#645) 2019-11-29 11:20:36 +11:00
Paul Hauner
b446d4eba7 Add check to see if testnet dir exists 2019-11-29 10:59:37 +11:00
Paul Hauner
e277996b16 Tidy account manager CLI, add logging 2019-11-29 10:39:40 +11:00
Paul Hauner
e9bb716fda Set default libp2p address 2019-11-29 09:53:31 +11:00
Paul Hauner
f43fe4d123 Remove ---/n from the start of testnet_dir files 2019-11-29 09:20:57 +11:00
Paul Hauner
ed2eaf8d9b Write genesis state as SSZ 2019-11-29 08:39:28 +11:00
Paul Hauner
2fef24d40c Allow testnet dir without boot nodes 2019-11-29 08:39:11 +11:00
Paul Hauner
32a299234f Fix bugs with beacon node cli 2019-11-29 06:43:32 +11:00
Paul Hauner
76a065a113 Fix account manager CLI bugs 2019-11-29 06:43:17 +11:00
Paul Hauner
23f26b46af Ensure boot nodes are loaded from testnet dir 2019-11-28 17:42:39 +11:00
Paul Hauner
51bcc46f8f Ensure http server flag works. Overwrite configs with flags. 2019-11-28 17:18:57 +11:00
Paul Hauner
2016c22e45 Add a hardcoded eth2 testnet config 2019-11-28 15:22:04 +11:00
Age Manning
c78fe81a89 Remove unnecessary logging and correct formatting 2019-11-28 15:05:25 +11:00
Paul Hauner
e31f76e79b Upgrade tesnet deposit contract version 2019-11-28 14:58:53 +11:00
Paul Hauner
2577136ba7 Add support for YamlConfig in Eth2TestnetDir 2019-11-28 14:49:15 +11:00
Paul Hauner
c04026d073 Remove duplication from bad merge (#642) 2019-11-28 14:45:00 +11:00
Age Manning
6f2fc7560a Apply clippy lints to beacon node 2019-11-28 14:06:46 +11:00
Paul Hauner
defe28b183 Fix bug in master merge 2019-11-28 13:24:00 +11:00
Paul Hauner
d32246b76c Merge branch 'master' into eth1-deploy 2019-11-28 13:21:28 +11:00
Paul Hauner
0dd1d3d442 Add lcli eth1-genesis command 2019-11-28 13:20:58 +11:00
pscott
7bdddd682c Apply eth2.0 config spec to ChainSpec (#605)
* Allow slot clock to work on genesis

* Loose over-strict requirements for slot clock tests

* fix slots_per_eth1_voting_period

* add utils for domain serializing and deserializing

* add serde_yaml to cargo

* add tmpdir to cargo

* cargo fmt src/utils

* add YamlConfig, allowing to serialize and deserialize yaml config files

* update to v0.9.1

* Comment out local tests

* update milliseconds_per_slot for minimal

* add safe_slots_to_update_justified

* Update to v0.9.1 and add deny_unknown_fields

* Specify that max_epochs_per_crosslink is for phase1

* Remove test stubs

* Use get to avoid panicking in serde_utils

* Use ? operator instead of explicit match return
2019-11-28 13:20:16 +11:00
Paul Hauner
291cf060d2 Remove unused dep 2019-11-28 10:49:48 +11:00
Paul Hauner
73ead55235 Refactor beacon node CLI 2019-11-28 10:31:51 +11:00
Paul Hauner
2bbac2ed18 Address bugs (#639)
* Change validator/duties endpoint

* Add time-based skip slot limiting

* Add new error type missed in previous commit
2019-11-27 18:37:09 +11:00
Paul Hauner
9bd0e13d9d Add log when waiting for genesis 2019-11-27 18:23:37 +11:00
Paul Hauner
88bd764143 Merge branch 'api-bug-fix' into eth1-deploy 2019-11-27 17:46:47 +11:00
Paul Hauner
34e6e6f943 Add new error type missed in previous commit 2019-11-27 17:36:19 +11:00
Paul Hauner
e0f417ec86 Add time-based skip slot limiting 2019-11-27 17:34:57 +11:00
Paul Hauner
dcd889f6ba Change validator/duties endpoint 2019-11-27 17:30:44 +11:00
Paul Hauner
0408fa6fd6 Make CLI args more consistent 2019-11-27 13:47:35 +11:00
Paul Hauner
66d624e538 Fix failing test in deposit_contract 2019-11-27 13:47:25 +11:00
Paul Hauner
b51d2d7282 Tidy code in rest_api 2019-11-27 13:11:52 +11:00
Paul Hauner
ab8b5dfc78 Fix broken tests in eth1 2019-11-27 13:11:44 +11:00
Paul Hauner
c3f2a50059 Merge branch 'master' into eth1-deploy 2019-11-27 12:49:22 +11:00
Paul Hauner
280bb455d0 Merge branch 'master' into eth1-deploy 2019-11-27 12:49:04 +11:00
Age Manning
97aa8b75b8 Testnet compatible network upgrade (#587)
* Create libp2p instance

* Change logger to stdlog

* test_connection initial commit

* Add gossipsub test

* Delete tests in network crate

* Add test module

* Clean tests

* Remove dependency on discovery

* Working publish between 2 nodes
TODO: Publish should be called just once

* Working 2 peer gossipsub test with additional events

* Cleanup test

* Add rpc test

* Star topology discovery WIP

* build_nodes builds and connects n nodes. Increase nodes in gossipsub test

* Add unsubscribe method and expose reference to gossipsub object for gossipsub tests

* Add gossipsub message forwarding test

* Fix gossipsub forward test

* Test improvements
* Remove discovery tests
* Simplify gossipsub forward test topology
* Add helper functions for topology building

* Clean up tests

* Update naming to new network spec

* Correct ssz encoding of protocol names

* Further additions to network upgrade

* Initial network spec update WIP

* Temp commit

* Builds one side of the streamed RPC responses

* Temporary commit

* Propagates streaming changes up into message handler

* Intermediate network update

* Partial update in upgrading to the new network spec

* Update dependencies, remove redundant deps

* Correct sync manager for block stream handling

* Re-write of RPC handler, improves efficiency and corrects bugs

* Stream termination update

* Completed refactor of rpc handler

* Remove crates

* Correct compile issues associated with test merge

* Build basic tests and testing structure for eth2-libp2p

* Enhance RPC tests and add logging

* Complete RPC testing framework and STATUS test

* Decoding bug fixes, log improvements, stream test

* Clean up RPC handler logging

* Decoder bug fix, empty block stream test

* Add BlocksByRoot RPC test

* Add Goodbye RPC test

* Syncing and stream handling bug fixes and performance improvements

* Applies discv5 bug fixes

* Adds DHT IP filtering for lighthouse - currently disabled

* Adds randomized network propagation as a CLI arg

* Add disconnect functionality

* Adds attestation handling and parent lookup

* Adds RPC error handling for the sync manager

* Allow parent's blocks to be already processed

* Update github workflow

* Adds reviewer suggestions
2019-11-27 12:47:46 +11:00
Michael Sproul
bf2eeae3f2 Implement freezer database (#508)
* Implement freezer database for state vectors

* Improve BeaconState safe accessors

And fix a bug in the compact committees accessor.

* Banish dodgy type bounds back to gRPC

* Clean up

* Switch to exclusive end points in chunked vec

* Cleaning up and start of tests

* Randao fix, more tests

* Fix unsightly hack

* Resolve test FIXMEs

* Config file support

* More clean-ups, migrator beginnings

* Finish migrator, integrate into BeaconChain

* Fixups

* Fix store tests

* Fix BeaconChain tests

* Fix LMD GHOST tests

* Address review comments, delete 'static bounds

* Cargo format

* Address review comments

* Fix LMD ghost tests

* Update to spec v0.9.0

* Update to v0.9.1

* Bump spec tags for v0.9.1

* Formatting, fix CI failures

* Resolve accidental KeyPair merge conflict

* Document new BeaconState functions

* Fix incorrect cache drops in `advance_caches`

* Update fork choice for v0.9.1

* Clean up some FIXMEs

* Fix a few docs/logs

* Update for new builder paradigm, spec changes

* Freezer DB integration into BeaconNode

* Cleaning up

* This works, clean it up

* Cleanups

* Fix and improve store tests

* Refine store test

* Delete unused beacon_chain_builder.rs

* Fix CLI

* Store state at split slot in hot database

* Make fork choice lookup fast again

* Store freezer DB split slot in the database

* Handle potential div by 0 in chunked_vector

* Exclude committee caches from freezer DB

* Remove FIXME about long-running test
2019-11-27 10:54:46 +11:00
Paul Hauner
aad68f9e88 Improve eth1 logging 2019-11-27 09:12:07 +11:00