laconicd-deprecated/proto/vulcanize/registry/v1beta1/attributes.proto
2023-01-18 15:41:14 +05:30

210 lines
5.1 KiB
Protocol Buffer

syntax = "proto3";
package vulcanize.registry.v1beta1;
import "gogoproto/gogo.proto";
option go_package = "github.com/cerc-io/laconicd/x/registry/types";
message HashReference {
map<string,string> hash_reference=1;
}
message ServiceProviderRecord {
string bond_id = 1 [(gogoproto.moretags) = "json:\"bondId\" yaml:\"bondId\""];
string laconic_id = 2 [(gogoproto.moretags) = "json:\"laconicId\" yaml:\"laconicId\""];
X500 x500 = 3 [(gogoproto.moretags) = "json:\"x500\" yaml:\"x500\""];
string type = 4 [(gogoproto.moretags) = "json:\"type\" yaml:\"type\""];
string version = 6 [(gogoproto.moretags) = "json:\"version\" yaml:\"version\""];
message X500 {
string common_name = 1 [(gogoproto.moretags) = "json:\"commonName\" yaml:\"commonName\""];
string organization_unit = 2 [(gogoproto.moretags) = "json:\"organizationUnit\" yaml:\"organizationUnit\""];
string organization_name = 3 [(gogoproto.moretags) = "json:\"organizationName\" yaml:\"organizationName\""];
string locality_name = 4 [(gogoproto.moretags) = "json:\"localityName\" yaml:\"localityName\""];
string state_name = 5 [(gogoproto.moretags) = "json:\"stateName\" yaml:\"stateName\""];
string country = 6 [(gogoproto.moretags) = "json:\"country\" yaml:\"country\""];
}
}
message WebsiteRegistrationRecord {
string url = 1 [(gogoproto.moretags) = "json:\"url\" yaml:\"url\""];
HashReference repo_hash_reference = 2
[(gogoproto.moretags) = "json:\"repoHashReference\" yaml:\"repoHashReference\""];
HashReference build_artifact_hash_ref = 3 [(gogoproto.moretags) = "json:\"buildArtifactHashRef\" yaml:\"buildArtifactHashRef\""];
HashReference tls_cert_hash_ref = 4 [(gogoproto.moretags) = "json:\"tlsCertHashRef\" yaml:\"tlsCertHashRef\""];
string type = 5 [(gogoproto.moretags) = "json:\"type\" yaml:\"type\""];
string version = 6 [(gogoproto.moretags) = "json:\"version\" yaml:\"version\""];
}
message GitRepository{
string name =1 [(gogoproto.moretags) = "json:\"name\" yaml:\"name\""];
string repo_reference=2 [(gogoproto.moretags) = "json:\"repo_reference\" yaml:\"repo_reference\""];
string description=3 [(gogoproto.moretags) = "json:\"description\" yaml:\"description\""];
string version = 4 [(gogoproto.moretags) = "json:\"version\" yaml:\"version\""];
}
message Binary{
HashReference hash_reference=1;
string targeted_arch=2;
string runtime_version=3;
HashReference repo_hash_reference=4;
string version=5;
string type=6;
}
message DockerImage{
string image_id=1;
HashReference binary_hash_reference=2;
HashReference repo_hash_reference=3;
string version=4;
string type=5;
}
message WatcherRegistrationRecord{
WatcherMetadata metadata =1;
HashReference repo_hash_reference=2;
WASMBinary wasm=3;
string version=4;
string type=5;
message WatcherMetadata{
string version=1;
HashReference chain_hash_reference=2;
}
message WASMBinary{
HashReference hash_reference=1;
WASMBinaryMetadata metadata=2;
}
message WASMBinaryMetadata{
string compiler_version=1;
string execution_engine_version=2;
}
}
message ResponderContract{
HashReference service_provider_hash_ref=1;
HashReference auction_hash_ref=2;
HashReference watcher_hash_ref=3;
string version=4;
string type=5;
}
message JSPackage{
HashReference repo_hash_reference=1;
HashReference js_package_hash_ref=2;
string version=3;
string type=4;
string name =5;
}
message ChainRegistrationRecord{
string name=1;
repeated string ipld_types=2;
string type=3;
string version=4;
string chain_id=5;
string network_id=6;
string genesis_hash=7;
}
message AppRecord{
string id=1;
string name=2;
string package=3;
string type=4;
string version=5;
string build=6;
string display_name=7;
}
message BotRecord{
string type=1;
string version=2;
string display_name=3;
string name =4;
Packages packages=5;
message Packages{
// method 1
map<string,Build> os =1;
message Build{
map<string,string> build=1;
}
// method 2
map<string,string> ref =3; // contains os and build together as key ex: macosx64:.... instead of macos:{x64:....,}
}
}
message Resource{
string version=1;
Docker docker=2;
string name=3;
string type=4;
message Docker{
string hash=1;
string url=2;
}
}
message WNS{
string name=1;
string type=2;
string version=3;
Endpoint wns_endpoints=4;
message Endpoint{
string rpc=1;
}
}
message Service{
string type=1;
string name=2;
string version=3;
string service=4;
string description=5;
// method 1
Tag tag=10;
message Tag{
map<string,string> tags=1;
repeated string addresses=2; // will be empty if its not IPFS
}
// method 2
oneof tags{
IPFS ipfs=6;
Signal signal=7;
STUN stun=8;
TURN turn=9;
}
message IPFS{
string protocol=1;
repeated string addresses=2;
}
message Signal{
string url=1;
string bootstrap=2;
}
message STUN{
string url=1;
}
message TURN{
string url=1;
string username=2;
string password=3;
}
}