sonr/proto/macaroon/v1/genesis.proto

66 lines
1.6 KiB
Protocol Buffer

syntax = "proto3";
package macaroon.v1;
import "amino/amino.proto";
import "gogoproto/gogo.proto";
import "did/v1/tx.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 string supported_first_party = 1;
repeated string supported_third_party = 2;
}
// Transactions defines the allowlist,denylist for transactions which can be
// broadcasted to the network with the Sonr DWN Signed macaroon.
message Transactions {
option (amino.name) = "macaroon/transactions";
option (gogoproto.equal) = true;
repeated string allowlist = 1;
repeated string denylist = 2;
}