syntax = "proto3"; package svc.v1; import "gogoproto/gogo.proto"; import "amino/amino.proto"; option go_package = "github.com/onsonr/sonr/x/svc/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) = "service/params"; option (gogoproto.equal) = true; option (gogoproto.goproto_stringer) = false; repeated Attenuation attenuations = 1; } // Attenuation defines the attenuation of a resource message Attenuation { Resource resource = 1; repeated Capability capabilities = 2; } // Capability reprensents the available capabilities of a decentralized web node message Capability { string name = 1; string parent = 2; string description = 3; repeated string resources = 4; } // Resource reprensents the available resources of a decentralized web node message Resource { string kind = 1; string template = 2; } // Service defines a Decentralized Service on the Sonr Blockchain message Service { string id = 1; string authority = 2; repeated string origins = 3; string name = 4; string description = 5; repeated Attenuation attenuations = 6; repeated string tags = 7; int64 expiry_height = 8; }