class OkHttpValidatorRestApiClient implements ValidatorRestApiClient {

  @Override
  public Optional<BeaconBlock> createUnsignedBlock(
      final UInt64 slot, final BLSSignature randaoReveal, final Optional<Bytes32> graffiti) {
    final Map<String, String> queryParams = new HashMap<>();
    queryParams.put("slot", encodeQueryParam(slot));
    queryParams.put("randao_reveal", encodeQueryParam(randaoReveal));
    graffiti.ifPresent(bytes32 -> queryParams.put("graffiti", encodeQueryParam(bytes32)));

    return get(GET_UNSIGNED_BLOCK, queryParams, BeaconBlock.class);
  }

  public  OkHttpValidatorRestApiClient(final String baseEndpoint);
  @VisibleForTesting  OkHttpValidatorRestApiClient(final HttpUrl baseEndpoint, final OkHttpClient okHttpClient);

}