Commit Graph

2980 Commits

Author SHA1 Message Date
Michael Sproul
23bcf9fe6f Pin protobuf version to 2.8.x
Lighthouse doesn't build with protobuf 2.9.0, and there's no point
upgrading when it's about to be deleted.
2019-09-30 11:14:35 +10:00
Michael Sproul
3d559d8b41 Robustify derive macro attribute parsing (#544)
Missing whitespace in the implementation of `TokenStream::to_string` on
beta and nightly was breaking our parsing of derive macro attributes.

This change makes the parser ignore whitespace, and should make the beta
and nightly builds succeed again.
2019-09-28 14:29:14 +10:00
Paul Hauner
2399b9bbe0 Merge pull request #516 from sigp/interop
Interop
2019-09-26 14:02:00 +10:00
Paul Hauner
97a45cdcb8 Address Michael's comments 2019-09-26 13:00:31 +10:00
Paul Hauner
b4806d27eb Fix comments from Michael 2019-09-26 10:46:56 +10:00
Paul Hauner
4ba6e916d5 Merge branch 'interop' of github.com:sigp/lighthouse into interop 2019-09-23 22:32:09 +10:00
Paul Hauner
4fccec158a Fix wasted iterations when getting previous state 2019-09-23 22:22:19 +10:00
Paul Hauner
e7a580393c Remove unnecessary drop() 2019-09-23 22:21:34 +10:00
Paul Hauner
b316086be0 Add write_ssz_files feature to beacon_chain crate 2019-09-23 22:20:47 +10:00
Paul Hauner
8ceb2e3d95 Refactor slot clock to remove underflow
Previously I had used `Instant` to refer to the genesis time.
2019-09-21 11:21:47 +10:00
Luke Anderson
43c110f228 Merge branch 'api-alignment' into interop 2019-09-16 09:36:47 +10:00
Paul Hauner
1b497e2e24 Gracefully shutdown the websocket server 2019-09-15 09:32:27 -04:00
Paul Hauner
33e62fb843 Add websockets page to book 2019-09-14 23:36:56 -04:00
Paul Hauner
9c5eded1ab Add websocket config to CLI 2019-09-14 22:57:46 -04:00
Paul Hauner
da26341011 Add beacon chain event for finalization 2019-09-14 22:26:09 -04:00
Paul Hauner
879f5bfdd0 Fix signature serialization bug 2019-09-14 22:25:53 -04:00
Paul Hauner
07990e0e92 Adds beacon chain events, websocket event handler 2019-09-14 15:41:35 -04:00
Paul Hauner
110e627d7b Add basic, not-useful websocket server 2019-09-14 10:34:03 -04:00
Paul Hauner
e1f6052d5e Add unfinished pycli integration 2019-09-13 18:49:39 -04:00
Paul Hauner
2676c8a62d Remove some dust code from beacon chain 2019-09-13 18:33:17 -04:00
Luke Anderson
23ce271b5f Return HTTP 202 to indicate processing error.
- A processing error of a validator's block or attestation should not prevent publishing. Now a 202 error is returned, to indicate that it has not been processed, but has still been published.
 - Added a publish_attestation function to the API, handling POST requests for /beacon/validator/attestation.
2019-09-13 21:22:32 +10:00
Luke Anderson
00a5f003c4 Merge branch 'api-alignment' into validator-post-fns 2019-09-13 20:53:38 +10:00
Luke Anderson
ec65934061 Merge branch 'interop' into api-alignment 2019-09-13 20:53:20 +10:00
Luke Anderson
d3ce182ddc Renamed 'InvalidQueryParams' to 'BadRequest', since it is a more general error that is returned in a number of cases. 2019-09-13 20:52:12 +10:00
Luke Anderson
f48311900e Restructured response builder to give YAML or JSON when SSZ is not available, not just JSON. 2019-09-13 20:42:56 +10:00
Luke Anderson
1dd86baf1a Cleaning up the rest of the API functions.
- Removed all unused imports
 - Fixed random compiler errors
 - Removed all of the 'sucess_response' helpers.
 - Enabled all of the API endpoints again, wrapping in 'into_boxfut'
 - Tidied up /metrics endpoint
 - Added a 'body_text' part to ResponseBuilder, mainly for the Prometheus /metrics endpoint
 - Cleaned up the unnecessary helpers::* imports, to be more explicit.
2019-09-13 19:38:40 +10:00
Luke Anderson
006350c0cd Fixed small bug with get_fork function 2019-09-13 19:14:09 +10:00
Luke Anderson
91f5f17566 Removing 'success_respons' in favour of 'ResponseBuilder' 2019-09-13 19:10:11 +10:00
Luke Anderson
09e11dd081 Merge branch 'api-alignment' into validator-post-fns 2019-09-13 19:06:32 +10:00
Luke Anderson
0b2f3bbf00 Updated another function for head_state (missing from previous commit). 2019-09-13 18:59:01 +10:00
Luke Anderson
b0e3ce7885 Addressed Paul's comments regarding head_state. 2019-09-13 18:58:08 +10:00
Paul Hauner
62b5f9c5a0 Move lcli out of the tests dir 2019-09-12 12:28:31 -04:00
Paul Hauner
7c211f3791 Add explicit fails for 32bit architecture 2019-09-12 10:40:29 -04:00
Luke Anderson
cd8f40b4b7 Getting regular endpoint functions to return futures.
- Wrapped endpoint functions in new into_boxfut function
 - Undid changes to Network API service, now returning ApiResult again.
 - Cleaning up of functions, and removal of success_response functions in updated endpoints.
 - A bunch of other clean-ups.
2019-09-12 15:20:31 +10:00
Luke Anderson
82f4303787 Merge branch 'api-alignment' into validator-post-fns 2019-09-12 15:12:54 +10:00
Luke Anderson
ea9d2285c3 Merge branch 'interop' into validator-post-fns. 2019-09-12 12:50:04 +10:00
Luke Anderson
c254ac8c2e Separated acquisition of BeaconChain and BeaconState. 2019-09-12 01:44:45 +10:00
Luke Anderson
d9b7e684c9 Merge branch 'interop' into api-alignment 2019-09-12 01:32:29 +10:00
Luke Anderson
0bd8187ff6 Revert most of commit ebd97730d5.
- Undoing making of the beacon chain read stuff return futures, instead dealing with it elsewhere.
2019-09-11 18:21:51 +10:00
Luke Anderson
2739ee83f9 Further restructuring futures API.
- Adding try_future! macros where necessary
 - Returning ApiResult and mapping it to future instead
 - Upgrading POST publish block to return a future directly
2019-09-11 18:02:00 +10:00
Paul Hauner
5d91d59481 Fix deadlock on becaon chain head 2019-09-10 22:42:07 -04:00
Paul Hauner
3fe61f5044 Add additional logs to validator client 2019-09-10 17:40:21 -04:00
Paul Hauner
b33f9c2bc9 Merge branch 'interop' of github.com:sigp/lighthouse into interop 2019-09-10 12:18:37 -04:00
Paul Hauner
8c5a8034b6 Add whiteblock script, CLI options to support it 2019-09-10 12:13:54 -04:00
Age Manning
04b43a51f9 Updates gossipsub to LRUcache 2019-09-11 02:07:39 +10:00
Luke Anderson
ebd97730d5 Converted the Beacon API service to Futures
- Added SSZ encode for HeadResponse
 - Converted all of the /beacon/ endpoints to return BoxFut instead of ApiResult
 - Wrapped all of the '?'s in a new macro try_future!()
 - Copied the try macro to try_future, so that a boxed future can easily be returned.
 - Replaced all of the response serializations to use the new success_response
2019-09-11 01:43:49 +10:00
Luke Anderson
b8667217f0 Made async functions work!
- Cleaned up imports
 - Moved ApiError and such to it's own error.rs
 - Obsoleted 'success_response' in favour of new async regular and json only flavours
 - Made ApiError work async and be derived from hyper errors
 - Added a check to ensure an error is thrown if a non-json encoding is requested on a json-only function
 - Made all the individual service functions return futures (only node and network for now)
2019-09-11 00:40:22 +10:00
Luke Anderson
b0090df543 Getting the restructured ApiService to work. 2019-09-10 19:30:36 +10:00
Michael Sproul
4dcad27381 Fix ApiService woes (hopefully) 2019-09-10 17:27:28 +10:00
Luke Anderson
576712cefe WIP: Trying to get futures to work... 2019-09-10 17:16:41 +10:00