syntax = "proto3";
package cosmos.store.v1beta1;

import "tendermint/abci/types.proto";

option go_package = "cosmossdk.io/store/types";

// StoreKVPair is a KVStore KVPair used for listening to state changes (Sets and Deletes)
// It optionally includes the StoreKey for the originating KVStore and a Boolean flag to distinguish between Sets and
// Deletes
//
// Since: cosmos-sdk 0.43
message StoreKVPair {
  string store_key = 1; // the store key for the KVStore this pair originates from
  bool delete      = 2; // true indicates a delete operation, false indicates a set operation
  bytes key        = 3;
  bytes value      = 4;
}

// BlockMetadata contains all the abci event data of a block
// the file streamer dump them into files together with the state changes.
message BlockMetadata {
  tendermint.abci.ResponseCommit        response_commit         = 6;
  tendermint.abci.RequestFinalizeBlock  request_finalize_block  = 7;
  tendermint.abci.ResponseFinalizeBlock response_finalize_block = 8; // TODO: should we renumber this?

  reserved 1, 2, 3, 4, 5; // reserved for from previous use in comet <= 0.37
}
