syntax = "proto3"; package ens; enum Error { Unknown = 0; ConnectionLimitReached = 1; ServerMaintenance = 2; // Only this error type can cause automatic recconection to a different server Unauthenticated = 3; Superseded = 4; } message ConnectionErrorRequest {} message ConnectionError { Error code = 1; optional string additional_info = 2; } message ChallengeRequest {} message ChallengeResponse { string challenge = 1; } service Login { rpc GetChallenge(ChallengeRequest) returns (ChallengeResponse); } service ENS { rpc ConnectionErrors(ConnectionErrorRequest) returns (stream ConnectionError); }