syntax = "proto3";
package core_grpc;

import "github.com/gogo/protobuf/gogoproto/gogo.proto";
import "github.com/tendermint/tendermint/abci/types/types.proto";

option (gogoproto.marshaler_all) = true;
option (gogoproto.unmarshaler_all) = true;
option (gogoproto.sizer_all) = true;
option (gogoproto.goproto_registration) = true;
// Generate tests
option (gogoproto.populate_all) = true;
option (gogoproto.equal_all) = true;
option (gogoproto.testgen_all) = true;
//----------------------------------------
// Message types

//----------------------------------------
// Request types

message RequestPing {
}

message RequestBroadcastTx {
  bytes tx = 1;
}

//----------------------------------------
// Response types

message ResponsePing{
}

message ResponseBroadcastTx{
  types.ResponseCheckTx check_tx = 1;
  types.ResponseDeliverTx deliver_tx = 2;
}

//----------------------------------------
// Service Definition

service BroadcastAPI {
  rpc Ping(RequestPing) returns (ResponsePing) ;
  rpc BroadcastTx(RequestBroadcastTx) returns (ResponseBroadcastTx) ;
}
