syntax = "proto3";
package tendermint.p2p;

option go_package = "github.com/tendermint/tendermint/proto/tendermint/p2p";

import "gogoproto/gogo.proto";

message PexAddress {
  string id   = 1 [(gogoproto.customname) = "ID"];
  string ip   = 2 [(gogoproto.customname) = "IP"];
  uint32 port = 3;
}

message PexRequest {}

message PexResponse {
  repeated PexAddress addresses = 1 [(gogoproto.nullable) = false];
}

message PexAddressV2 {
  string url = 1 [(gogoproto.customname) = "URL"];
}

message PexRequestV2 {}

message PexResponseV2 {
  repeated PexAddressV2 addresses = 1 [(gogoproto.nullable) = false];
}


message PexMessage {
  oneof sum {
    PexRequest    pex_request     = 1;
    PexResponse   pex_response    = 2;
    PexRequestV2  pex_request_v2  = 3;
    PexResponseV2 pex_response_v2 = 4;
  }
}
