wormhole/proto/spy/v1/spy.proto

45 lines
1.1 KiB
Protocol Buffer

syntax = "proto3";
package spy.v1;
option go_package = "github.com/certusone/wormhole/node/pkg/proto/spy/v1;spyv1";
import "google/api/annotations.proto";
import "publicrpc/v1/publicrpc.proto";
// SpyRPCService exposes a gossip introspection service, allowing sniffing of gossip messages.
service SpyRPCService {
// SubscribeSignedVAA returns a stream of signed VAA messages received on the network.
rpc SubscribeSignedVAA (SubscribeSignedVAARequest) returns (stream SubscribeSignedVAAResponse) {
option (google.api.http) = {
post: "/v1:subscribe_signed_vaa"
body: "*"
};
}
}
// A MessageFilter represents an exact match for an emitter.
message EmitterFilter {
// Source chain
publicrpc.v1.ChainID chain_id = 1;
// Hex-encoded (without leading 0x) emitter address.
string emitter_address = 2;
}
message FilterEntry {
oneof filter {
EmitterFilter emitter_filter = 1;
}
}
message SubscribeSignedVAARequest {
// List of filters to apply to the stream (OR).
// If empty, all messages are streamed.
repeated FilterEntry filters = 1;
}
message SubscribeSignedVAAResponse {
// Raw VAA bytes
bytes vaa_bytes = 1;
}