syntax = "proto3"; package types.v1; option go_package = "github.com/synapsecns/sanguine/services/scribe/grpc/types;pbscribe"; import "google/api/annotations.proto"; import "types/v1/filter.proto"; import "types/v1/log.proto"; message FilterLogsRequest { LogFilter filter = 1; uint32 page = 2; } message FilterLogsResponse { repeated Log logs = 1; } message HealthCheckRequest { string service = 1; } message HealthCheckResponse { enum ServingStatus { UNKNOWN = 0; SERVING = 1; NOT_SERVING = 2; SERVICE_UNKNOWN = 3; // Used only by the Watch method. } ServingStatus status = 1; } message StreamLogsRequest { LogFilter filter = 1; string fromBlock = 2; string toBlock = 3; } message StreamLogsResponse { Log log = 1; } service ScribeService { //see: https://github.com/grpc/grpc/blob/master/doc/health-checking.md rpc Check(HealthCheckRequest) returns (HealthCheckResponse) { option (google.api.http) = { post: "/grpc/v1/health_check" body: "*" }; } rpc Watch(HealthCheckRequest) returns (stream HealthCheckResponse){ option (google.api.http) = { post: "/grpc/v1/health_watch" body: "*" }; } rpc FilterLogs(FilterLogsRequest) returns (FilterLogsResponse) { option (google.api.http) = { post: "/grpc/v1/filter_logs" body: "*" }; } rpc StreamLogs(StreamLogsRequest) returns (stream StreamLogsResponse) { option (google.api.http) = { post: "/grpc/v1/stream_logs" body: "*" }; } }