sonr/proto/macaroon/v1/genesis.proto

63 lines
1.4 KiB
Protocol Buffer

syntax = "proto3";
package macaroon.v1;
import "amino/amino.proto";
import "did/v1/tx.proto";
import "gogoproto/gogo.proto";
option go_package = "github.com/onsonr/sonr/x/macaroon/types";
// GenesisState defines the module genesis state
message GenesisState {
// Params defines all the parameters of the module.
Params params = 1 [(gogoproto.nullable) = false];
}
// Params defines the set of module parameters.
message Params {
option (amino.name) = "macaroon/params";
option (gogoproto.equal) = true;
option (gogoproto.goproto_stringer) = false;
// The list of methods
Methods methods = 1;
// The list of scopes
Scopes scopes = 2;
// The list of caveats
Caveats caveats = 3;
}
// Methods defines the available DID methods
message Methods {
option (amino.name) = "macaroon/methods";
option (gogoproto.equal) = true;
string default = 1;
repeated string supported = 2;
}
// Scopes defines the set of scopes
message Scopes {
option (amino.name) = "macaroon/scopes";
option (gogoproto.equal) = true;
string base = 1;
repeated string supported = 2;
}
// Caveats defines the available caveats
message Caveats {
option (amino.name) = "macaroon/caveats";
option (gogoproto.equal) = true;
repeated Caveat supported_first_party = 1;
repeated Caveat supported_third_party = 2;
}
// Caveat defines the caveat
message Caveat {
repeated string scopes = 1;
string caveat = 2;
string description = 3;
}