- 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)