syntax = "proto3";

package publisher;

import "google/protobuf/empty.proto";

option go_package = "thor_streamer/proto";

message StreamResponse {
  bytes data = 1;
}
message SubscribeAccountsRequest {
  repeated string account_address = 1;
  repeated string owner_address = 2;  // Filter by owner addresses
}

service EventPublisher {
  rpc SubscribeToTransactions(google.protobuf.Empty) returns (stream StreamResponse) {}
  rpc SubscribeToSlotStatus(google.protobuf.Empty) returns (stream StreamResponse) {}
  rpc SubscribeToAccountUpdates(SubscribeAccountsRequest) returns (stream StreamResponse) {}
}
