syntax = "proto3"; package pb; message Claim { oneof type { Stream stream = 1; Channel channel = 2; } } message Channel { bytes public_key = 1; repeated string tags = 2; string title = 3; string description = 4; string thumbnail_url = 5; string language = 6; string contact_email = 7; string homepage_url = 8; string cover_url = 9; } message Stream { bytes hash = 1; repeated string tags = 2; string title = 3; string description = 4; string thumbnail_url = 5; string language = 6; string author = 7; string license = 8; string license_url = 9; int64 release_time = 10; // seconds since UNIX epoch string media_type = 13; Fee fee = 14; File file = 15; Image image = 16; Video video = 17; Audio audio = 18; } message Fee { enum Currency { LBC = 0; USD = 1; } Currency currency = 1; bytes address = 2; uint64 amount = 3; // deweys for LBC, cents for USD } message File { string name = 1; uint64 size = 2; } message Image { uint32 width = 1; uint32 height = 2; } message Video { uint32 width = 1; uint32 height = 2; uint32 duration = 3; } message Audio { uint32 duration = 3; }