2022-01-08 01:59:34 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
package cosmos.capability.v1beta1;
|
|
|
|
|
|
|
|
option go_package = "github.com/cosmos/cosmos-sdk/x/capability/types";
|
|
|
|
|
|
|
|
import "gogoproto/gogo.proto";
|
2024-02-06 22:54:10 +00:00
|
|
|
import "amino/amino.proto";
|
2022-01-08 01:59:34 +00:00
|
|
|
|
|
|
|
// Capability defines an implementation of an object capability. The index
|
|
|
|
// provided to a Capability must be globally unique.
|
|
|
|
message Capability {
|
|
|
|
option (gogoproto.goproto_stringer) = false;
|
|
|
|
|
2023-04-04 00:08:45 +00:00
|
|
|
uint64 index = 1;
|
2022-01-08 01:59:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// Owner defines a single capability owner. An owner is defined by the name of
|
|
|
|
// capability and the module name.
|
|
|
|
message Owner {
|
|
|
|
option (gogoproto.goproto_stringer) = false;
|
|
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
|
2023-04-04 00:08:45 +00:00
|
|
|
string module = 1;
|
|
|
|
string name = 2;
|
2022-01-08 01:59:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// CapabilityOwners defines a set of owners of a single Capability. The set of
|
|
|
|
// owners must be unique.
|
|
|
|
message CapabilityOwners {
|
2024-02-06 22:54:10 +00:00
|
|
|
repeated Owner owners = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true];
|
2022-01-08 01:59:34 +00:00
|
|
|
}
|