
syntax = "proto3";
package cosmos.counter.v1;

import "cosmos_proto/cosmos.proto";
import "cosmos/msg/v1/msg.proto";
import "amino/amino.proto";

option go_package = "github.com/cosmos/cosmos-sdk/testutil/x/counter/types";

// Msg defines the counter Msg service.
service Msg {
  option (cosmos.msg.v1.service) = true;

  // IncreaseCount increments the counter by the specified amount.
  rpc IncreaseCount(MsgIncreaseCounter) returns (MsgIncreaseCountResponse);
}

// MsgIncreaseCounter defines a count Msg service counter.
message MsgIncreaseCounter {
  option (amino.name)           = "cosmos-sdk/increase_counter"; // TODO: remove amino
  option (cosmos.msg.v1.signer) = "signer";

  // signer is the address that controls the module (defaults to x/gov unless overwritten).
  string signer = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];

  // count is the number of times to increment the counter.
  int64 count = 2;
}

// MsgIncreaseCountResponse is the Msg/Counter response type.
message MsgIncreaseCountResponse {
  // new_count is the number of times the counter was incremented.
  int64 new_count = 1;
}
