syntax = "proto3"; package pb; message Claim { oneof type { Stream stream = 1; Channel channel = 2; } } message Channel { bytes public_key = 1; string title = 2; string description = 3; string contact_email = 4; string homepage_url = 5; repeated string tags = 6; string thumbnail_url = 16; string cover_url = 17; string language = 18; } 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_url = 18; uint32 duration = 19; repeated string tags = 20; int64 release_time = 21; // seconds since UNIX epoch Video video = 22; } 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 Video { uint32 width = 1; uint32 height = 2; }