6#include <nlohmann/json.hpp> 
   26  static auto FromJson(
const nlohmann::json& json)
 
   27      -> std::expected<Response, error::RpcError>;
 
   30      const nlohmann::json& result, 
const std::optional<RequestId>& 
id)
 
   34      RpcErrorCode code, 
const std::optional<RequestId>& 
id = std::nullopt)
 
   38      const RpcError& error, 
const std::optional<RequestId>& 
id = std::nullopt)
 
   42      const nlohmann::json& error, 
const std::optional<RequestId>& 
id)
 
   45  [[nodiscard]] 
auto IsSuccess() const -> 
bool;
 
   56  explicit 
Response(
nlohmann::json response) : response_(std::move(response)) {
 
   59  [[nodiscard]] 
auto ValidateResponse() const
 
   60      -> std::expected<
void, error::
RpcError>;
 
 
   69struct adl_serializer<
jsonrpc::endpoint::Response> {
 
 
 
static auto CreateSuccess(const nlohmann::json &result, const std::optional< RequestId > &id) -> Response
auto GetResult() const -> const nlohmann::json &
static auto CreateError(RpcErrorCode code, const std::optional< RequestId > &id=std::nullopt) -> Response
auto GetId() const -> std::optional< RequestId >
auto operator=(const Response &) -> Response &=default
static auto FromJson(const nlohmann::json &json) -> std::expected< Response, error::RpcError >
auto operator=(Response &&other) noexcept -> Response &=default
auto IsSuccess() const -> bool
auto GetError() const -> const nlohmann::json &
Response(Response &&other)=default
Response(const Response &)=default
auto ToJson() const -> nlohmann::json
std::variant< int64_t, std::string > RequestId
static void to_json(json &j, const jsonrpc::endpoint::Response &r)