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

import "gogoproto/gogo.proto";
import "cosmos/capability/v1beta1/capability.proto";
import "amino/amino.proto";

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

// GenesisOwners defines the capability owners with their corresponding index.
message GenesisOwners {
  // index is the index of the capability owner.
  uint64 index = 1;

  // index_owners are the owners at the given index.
  CapabilityOwners index_owners = 2 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true];
}

// GenesisState defines the capability module's genesis state.
message GenesisState {
  // index is the capability global index.
  uint64 index = 1;

  // owners represents a map from index to owners of the capability index
  // index key is string to allow amino marshalling.
  repeated GenesisOwners owners = 2 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true];
}