diff --git a/proto/certificate.proto b/proto/v1/certificate.proto similarity index 100% rename from proto/certificate.proto rename to proto/v1/certificate.proto diff --git a/proto/claim.proto b/proto/v1/claim.proto similarity index 100% rename from proto/claim.proto rename to proto/v1/claim.proto diff --git a/proto/fee.proto b/proto/v1/fee.proto similarity index 100% rename from proto/fee.proto rename to proto/v1/fee.proto diff --git a/proto/metadata.proto b/proto/v1/metadata.proto similarity index 100% rename from proto/metadata.proto rename to proto/v1/metadata.proto diff --git a/proto/signature.proto b/proto/v1/signature.proto similarity index 100% rename from proto/signature.proto rename to proto/v1/signature.proto diff --git a/proto/source.proto b/proto/v1/source.proto similarity index 100% rename from proto/source.proto rename to proto/v1/source.proto diff --git a/proto/stream.proto b/proto/v1/stream.proto similarity index 100% rename from proto/stream.proto rename to proto/v1/stream.proto diff --git a/proto/v2/channel.proto b/proto/v2/channel.proto new file mode 100644 index 0000000..db92a2b --- /dev/null +++ b/proto/v2/channel.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; + +package pb; + +message Channel { + bytes public_key = 1; +} diff --git a/proto/v2/claim.proto b/proto/v2/claim.proto new file mode 100644 index 0000000..3e7b6e1 --- /dev/null +++ b/proto/v2/claim.proto @@ -0,0 +1,18 @@ +syntax = "proto3"; + +package pb; + +import "stream.proto"; +import "channel.proto"; + +message Claim { + enum Type { + UNKNOWN = 0; + STREAM = 1; + CHANNEL = 2; + } + + Type type = 1; // do we need this? + Stream stream = 2; + Channel channel = 3; +} diff --git a/proto/v2/fee.proto b/proto/v2/fee.proto new file mode 100644 index 0000000..9ecdbf8 --- /dev/null +++ b/proto/v2/fee.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; + +package pb; + +message Fee { + enum Currency { + UNKNOWN = 0; + LBC = 1; + BTC = 2; + USD = 3; + } + + Currency currency = 1; + bytes address = 2; + float amount = 3; +} diff --git a/proto/v2/file.proto b/proto/v2/file.proto new file mode 100644 index 0000000..4cc52d1 --- /dev/null +++ b/proto/v2/file.proto @@ -0,0 +1,8 @@ +syntax = "proto3"; + +package pb; + +message File { + string name = 1; + uint64 size = 2; +} diff --git a/proto/v2/stream.proto b/proto/v2/stream.proto new file mode 100644 index 0000000..90a1485 --- /dev/null +++ b/proto/v2/stream.proto @@ -0,0 +1,30 @@ +syntax = "proto3"; + +package pb; + +import "fee.proto"; +import "file.proto"; + +message Stream { + bytes hash = 1; + string language = 2; + string title = 3; + string author = 4; + string description = 5; + string media_type = 6; + string license = 7; + File file = 8; + + Fee fee = 16; + string license_url = 17; + string thumbnail = 18; + string preview = 19; + bool nsfw = 20; + uint32 duration = 21; + Timestamp release_time = 22; +} + +message Timestamp { + sint64 epoch_seconds = 1; + sint32 bc_year = 2; +} \ No newline at end of file