syntax = "proto3";
package zgc.das.v1;

import "cosmos_proto/cosmos.proto";
import "gogoproto/gogo.proto";
import "google/protobuf/any.proto";
import "zgc/das/v1/genesis.proto";

option go_package = "github.com/0glabs/0g-chain/x/das/v1/types";
option (gogoproto.goproto_getters_all) = false;

// Msg defines the das Msg service
service Msg {
  rpc RequestDAS(MsgRequestDAS) returns (MsgRequestDASResponse);
  rpc ReportDASResult(MsgReportDASResult) returns (MsgReportDASResultResponse);
}

message MsgRequestDAS {
  string requester = 1 [(gogoproto.moretags) = "Requester"];
  string stream_id = 2 [(gogoproto.customname) = "StreamID"];
  string batch_header_hash = 3;
  uint32 num_blobs = 4;
}

message MsgRequestDASResponse {
  uint64 request_id = 1 [(gogoproto.customname) = "RequestID"];
}

message MsgReportDASResult {
  uint64 request_id = 1 [(gogoproto.customname) = "RequestID"];
  string sampler = 2;
  repeated bool results = 3;
}

message MsgReportDASResultResponse {}