2020-10-25 22:05:37 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
|
|
|
|
import "google/protobuf/empty.proto";
|
|
|
|
|
2020-10-29 16:38:46 +00:00
|
|
|
package sentry;
|
2020-10-25 22:05:37 +00:00
|
|
|
|
2020-10-29 16:38:46 +00:00
|
|
|
option go_package = "./sentry;sentry";
|
2020-10-25 22:05:37 +00:00
|
|
|
|
2020-10-29 16:38:46 +00:00
|
|
|
enum OutboundMessageId {
|
|
|
|
GetBlockHeaders = 0; GetBlockBodies = 1; GetNodeData = 2;
|
|
|
|
}
|
2020-10-25 22:05:37 +00:00
|
|
|
|
|
|
|
message OutboundMessageData {
|
|
|
|
OutboundMessageId id = 1;
|
|
|
|
bytes data = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message SendMessageByMinBlockRequest {
|
|
|
|
OutboundMessageData data = 1;
|
|
|
|
uint64 min_block = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message SendMessageByIdRequest {
|
|
|
|
OutboundMessageData data = 1;
|
|
|
|
bytes peer_id = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message SendMessageToRandomPeersRequest {
|
|
|
|
OutboundMessageData data = 1;
|
|
|
|
uint64 max_peers = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message SentPeers { repeated bytes peers = 1; }
|
|
|
|
|
|
|
|
enum PenaltyKind { Kick = 0; }
|
|
|
|
|
|
|
|
message PenalizePeerRequest {
|
|
|
|
bytes peer_id = 1;
|
|
|
|
PenaltyKind penalty = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
service Sentry {
|
|
|
|
rpc PenalizePeer(PenalizePeerRequest) returns(google.protobuf.Empty);
|
|
|
|
rpc SendMessageByMinBlock(SendMessageByMinBlockRequest) returns(SentPeers);
|
|
|
|
rpc SendMessageById(SendMessageByIdRequest) returns(SentPeers);
|
|
|
|
rpc SendMessageToRandomPeers(SendMessageToRandomPeersRequest)
|
|
|
|
returns(SentPeers);
|
|
|
|
rpc SendMessageToAll(OutboundMessageData) returns(SentPeers);
|
2020-10-29 16:38:46 +00:00
|
|
|
}
|