* Implement basic tree hash caching
* Use spaces to indent top-level Cargo.toml
* Optimize BLS tree hash by hashing bytes directly
* Implement tree hash caching for validator registry
* Persist BeaconState tree hash cache to disk
* Address Paul's review comments
* Prototype for far_right push
* Add push method and tests
* Modify beacon_chain_builder for interop to use push instead of create
* Add Push method to MerkleTree
* Cargo fmt
* Remove redundant tests
* Fix typo
* Rename push to push_leaf
* Fix clippy warnings
* Add DepthTooSmall enum variant
* Avoid cloning in MerkleTree::push_leaf
* Add quickcheck test for push_leaf
* Cargo fmt updated
* Return err instead of using unwrap()
* Use enumerate instead of hard indexing
* Use if let and return string on error
* Fix typo in deposit_leave
* Fix cargo fmt
* Prototype for far_right push
* Add push method and tests
* Modify beacon_chain_builder for interop to use push instead of create
* Add Push method to MerkleTree
* Cargo fmt
* Remove redundant tests
* Fix typo
* Rename push to push_leaf
* Fix clippy warnings
* Add DepthTooSmall enum variant
* Avoid cloning in MerkleTree::push_leaf
* Add quickcheck test for push_leaf
* Cargo fmt updated
* Return err instead of using unwrap()
* Use enumerate instead of hard indexing
* Use if let and return string on error
* Fix typo in deposit_leave
* Change into_iter to iter
* Fix clippy 'easy' warnings
* Clippy eth2/utils
* Add struct NetworkInfo
* Clippy for types, utils, and beacon_node/store/src/iters.rs
* Cargo fmt
* Change foo to my_foo
* Remove complex signature
* suppress clippy warning for unit_value in benches
* Use enumerate instead of iterating over range
* Allow trivially_copy_pass_by_ref in serde_utils
- 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.
- 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.
- 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.
- Adding try_future! macros where necessary
- Returning ApiResult and mapping it to future instead
- Upgrading POST publish block to return a future directly
- 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
- 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)
- Added a /beacon/validators function, to list all validators active in a particular epoch
- Moved 'get_genesis_state' function, to align with router.
- Added content-type for error responses
- Tried adding a cache update call to fix issue getting validator duties (this is WIP)
- Fixed function re-names
- Updated the function which gets the beacon_chain from the request, and makes sure caches are updated.
- Updated this api-alignment branch with the new code from interop branch.
- Made /beacon/state return the current 'head' state when no parameters are provided.
- Added some of the YAML api spec stuff to the /beacon/state endpoint in the rest_api spec.
- Adding the validator routes into the main function.
- Fixing the setting of the aggregation bits, and handling errors correctly.
- Rust format fixes, and addressing compiler warnings.
Updates lighthouse to the latest networking spec
- Sync re-write (#496)
- Updates to the latest eth2 networking spec (#495)
- Libp2p updates and improvements
- Add correct string formatting when incorrect parameters provided.
- Fill /beacon/block and /beacon/block_root endpoints
- Add 500 error responses to endpoints as appropriate
* Add basic block processing benches
* Start reviving state processing benches
* Fix old block builders
* Add optimization for faster pubkey add
* Tidy benches, add another
* Add extra block processing bench
* Start working on faster BLS scheme
* Add partially complete sig verify optimization
* Add .gitignore to state processing
* Add progress on faster signature verification
* Fix SignatureSet for fake_crypto
* Tidy attester slashings sig set
* Tidy bulk signature verifier
* Refactor signature sets to be cleaner
* Start threading SignatureStrategy through code
* Add (empty) test dir
* Move BenchingBlockBuilder
* Add initial block signature verification tests
* Add tests for bulk signature verification
* Start threading SignatureStrategy in block proc.
* Refactor per_block_processing errors
* Use sig set tuples instead of lists of two
* Remove dead code
* Thread VerifySignatures through per_block_processing
* Add bulk signature verification
* Introduce parallel bulk signature verification
* Expand state processing benches
* Fix additional compile errors
* Fix issue where par iter chunks is 0
* Update milagro_bls dep
* Remove debugs, code fragment in beacon chain
* Tidy, add comments to block sig verifier
* Fix various PR comments
* Add block_root option to per_block_processing
* Fix comment in block signature verifier
* Fix comments from PR review
* Remove old comment
* Fix comment
- Added the /beacon/validator/block endpoint for GET (untested)
- Added the /beacon/fork endpoint for GET
- Cleaned up a bunch of unused imports & variables
- Removed '/network/block_discovery' endpoint
- Completed implementation of /beacon/head
- renamed 'latest_finalized_checkpoint' to 'current_finalized_checkpoint' for consistency
- Reorganised list of endpoints in both spec & router so that they match
- Fixed the content-type modifications for /metrics
- Added a new 'RFC' tag to the spec, to tag things that we have not implemented and aren't sure if it's useful.
- Moved 'deposit_contract' under /spec