added lbry dart

This commit is contained in:
Lex Berezhny 2019-07-09 21:18:28 -04:00
parent 3791d22713
commit ff2a08747b
19 changed files with 3785 additions and 0 deletions

9
dart/packages/lbry/.gitignore vendored Normal file
View file

@ -0,0 +1,9 @@
# Files and directories created by pub
.dart_tool/
.packages
# Conventional directory for build outputs
build/
# Directory created by dartdoc
doc/api/

View file

@ -0,0 +1,3 @@
## 1.0.0
- Initial version, created by Stagehand

View file

@ -0,0 +1 @@
LBRY SDK in Dart.

View file

@ -0,0 +1,14 @@
# Defines a default set of lint rules enforced for
# projects at Google. For details and rationale,
# see https://github.com/dart-lang/pedantic#enabled-lints.
include: package:pedantic/analysis_options.yaml
# For lint rules and documentation, see http://dart-lang.github.io/linter/lints.
# Uncomment to specify additional rules.
# linter:
# rules:
# - camel_case_types
analyzer:
# exclude:
# - path/to/excluded/files/**

View file

@ -0,0 +1,5 @@
import 'package:lbry/src/load_generator.dart' as load;
main(List<String> arguments) {
load.cli();
}

View file

@ -0,0 +1 @@
export 'src/load_generator.dart' show LoadGenerator, LoadDataPoint;

View file

@ -0,0 +1,146 @@
import 'dart:async';
import 'dart:io';
import 'dart:convert';
class LoadRequest {
static const RESOLVE = {
'id': 1,
'method': 'blockchain.claimtrie.resolve',
'params': ['one', 'two', 'three']
};
static const CLAIM_SEARCH = {
'id': 1,
'method': 'blockchain.claimtrie.search',
'params': {
'fee_amount': '<1',
'all_tags': ['funny'],
'any_tags': [
'crypto',
'outdoors',
'cars',
'automotive'
]
}
};
final Map payload;
Completer completer;
Stopwatch timer;
bool get isDone => completer.isCompleted;
int get elapsed => timer.elapsedMilliseconds;
LoadRequest.search(): payload=CLAIM_SEARCH;
LoadRequest.resolve(): payload=RESOLVE;
LoadRequest start() {
completer = Completer();
timer = Stopwatch()..start();
completer.future.whenComplete(() => timer.stop());
try {
Socket.connect('127.0.0.1', 50001).then((socket) {
socket.transform(utf8.decoder).listen((r) {
if (r.contains('"jsonrpc": "2.0", "result": ')) {
socket.close();
completer.complete();
}
}, onError: (e) {print(e); completer.complete();});
try {
socket.write(jsonEncode(payload) + '\n');
} catch (exception, stackTrace) {
print(exception);
print(stackTrace);
completer.complete();
}
}, onError: (e) {print(e);completer.complete();});
} catch (exception, stackTrace) {
print(exception);
print(stackTrace);
completer.complete();
}
return this;
}
}
typedef bool LoadTestCallback(LoadGenerator load_generator, LoadDataPoint stats);
class LoadGenerator {
int load = 1;
Timer _timer;
LoadTestCallback cb;
LoadGenerator(this.cb);
start() {
var previous = spawn_requests();
var backlog = <LoadRequest>[];
_timer = Timer.periodic(Duration(seconds: 1), (t) {
var stat = LoadDataPoint();
backlog.removeWhere((r) {
if (r.isDone) stat.addCatchup(r);
return r.isDone;
});
for (var f in previous) {
if (f.isDone) {
stat.addSuccess(f);
} else {
backlog.add(f);
}
}
stat.backlog = backlog.length;
if (cb(this, stat)) {
previous = spawn_requests();
} else {
t.cancel();
}
});
}
stop() {
_timer.cancel();
}
List<LoadRequest> spawn_requests() {
var requests = <LoadRequest>[];
for (var _ in Iterable.generate(load)) {
requests.add(LoadRequest.resolve().start());
}
return requests;
}
}
class LoadDataPoint {
final DateTime time = new DateTime.now();
int success = 0;
int errored = 0;
int backlog = 0;
int catchup = 0;
int _success_total = 0;
int _catchup_total = 0;
int load = 0;
int get avg_success => _success_total > 0 ? (_success_total/success).round() : 0;
int get avg_catchup => _catchup_total > 0 ? (_catchup_total/catchup).round() : 0;
addSuccess(LoadRequest r) {
success++; _success_total += r.elapsed;
}
addCatchup(LoadRequest r) {
catchup++; _catchup_total += r.elapsed;
}
}
cli() {
var runs = 1;
LoadGenerator((t, stats) {
print("run ${runs}: ${stats}");
t.load = (runs < 4 ? t.load*2 : t.load/2).round();
return runs++ < 10;
}).start();
}

View file

@ -0,0 +1,2 @@
build:
protoc --dart_out=v2 -I ../../../../../../../types/v2/proto/ ../../../../../../../types/v2/proto/*.proto

View file

@ -0,0 +1,625 @@
///
// Generated code. Do not modify.
// source: claim.proto
///
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type
import 'dart:core' as $core show bool, Deprecated, double, int, List, Map, override, pragma, String;
import 'package:fixnum/fixnum.dart';
import 'package:protobuf/protobuf.dart' as $pb;
import 'claim.pbenum.dart';
export 'claim.pbenum.dart';
enum Claim_Type {
stream,
channel,
collection,
repost,
notSet
}
class Claim extends $pb.GeneratedMessage {
static const $core.Map<$core.int, Claim_Type> _Claim_TypeByTag = {
1 : Claim_Type.stream,
2 : Claim_Type.channel,
3 : Claim_Type.collection,
4 : Claim_Type.repost,
0 : Claim_Type.notSet
};
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Claim', package: const $pb.PackageName('pb'))
..oo(0, [1, 2, 3, 4])
..a<Stream>(1, 'stream', $pb.PbFieldType.OM, Stream.getDefault, Stream.create)
..a<Channel>(2, 'channel', $pb.PbFieldType.OM, Channel.getDefault, Channel.create)
..a<ClaimList>(3, 'collection', $pb.PbFieldType.OM, ClaimList.getDefault, ClaimList.create)
..a<ClaimReference>(4, 'repost', $pb.PbFieldType.OM, ClaimReference.getDefault, ClaimReference.create)
..aOS(8, 'title')
..aOS(9, 'description')
..a<Source>(10, 'thumbnail', $pb.PbFieldType.OM, Source.getDefault, Source.create)
..pPS(11, 'tags')
..pc<Language>(12, 'languages', $pb.PbFieldType.PM,Language.create)
..pc<Location>(13, 'locations', $pb.PbFieldType.PM,Location.create)
..hasRequiredFields = false
;
Claim._() : super();
factory Claim() => create();
factory Claim.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory Claim.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
Claim clone() => Claim()..mergeFromMessage(this);
Claim copyWith(void Function(Claim) updates) => super.copyWith((message) => updates(message as Claim));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static Claim create() => Claim._();
Claim createEmptyInstance() => create();
static $pb.PbList<Claim> createRepeated() => $pb.PbList<Claim>();
static Claim getDefault() => _defaultInstance ??= create()..freeze();
static Claim _defaultInstance;
Claim_Type whichType() => _Claim_TypeByTag[$_whichOneof(0)];
void clearType() => clearField($_whichOneof(0));
Stream get stream => $_getN(0);
set stream(Stream v) { setField(1, v); }
$core.bool hasStream() => $_has(0);
void clearStream() => clearField(1);
Channel get channel => $_getN(1);
set channel(Channel v) { setField(2, v); }
$core.bool hasChannel() => $_has(1);
void clearChannel() => clearField(2);
ClaimList get collection => $_getN(2);
set collection(ClaimList v) { setField(3, v); }
$core.bool hasCollection() => $_has(2);
void clearCollection() => clearField(3);
ClaimReference get repost => $_getN(3);
set repost(ClaimReference v) { setField(4, v); }
$core.bool hasRepost() => $_has(3);
void clearRepost() => clearField(4);
$core.String get title => $_getS(4, '');
set title($core.String v) { $_setString(4, v); }
$core.bool hasTitle() => $_has(4);
void clearTitle() => clearField(8);
$core.String get description => $_getS(5, '');
set description($core.String v) { $_setString(5, v); }
$core.bool hasDescription() => $_has(5);
void clearDescription() => clearField(9);
Source get thumbnail => $_getN(6);
set thumbnail(Source v) { setField(10, v); }
$core.bool hasThumbnail() => $_has(6);
void clearThumbnail() => clearField(10);
$core.List<$core.String> get tags => $_getList(7);
$core.List<Language> get languages => $_getList(8);
$core.List<Location> get locations => $_getList(9);
}
enum Stream_Type {
image,
video,
audio,
software,
notSet
}
class Stream extends $pb.GeneratedMessage {
static const $core.Map<$core.int, Stream_Type> _Stream_TypeByTag = {
10 : Stream_Type.image,
11 : Stream_Type.video,
12 : Stream_Type.audio,
13 : Stream_Type.software,
0 : Stream_Type.notSet
};
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Stream', package: const $pb.PackageName('pb'))
..oo(0, [10, 11, 12, 13])
..a<Source>(1, 'source', $pb.PbFieldType.OM, Source.getDefault, Source.create)
..aOS(2, 'author')
..aOS(3, 'license')
..aOS(4, 'licenseUrl')
..aInt64(5, 'releaseTime')
..a<Fee>(6, 'fee', $pb.PbFieldType.OM, Fee.getDefault, Fee.create)
..a<Image>(10, 'image', $pb.PbFieldType.OM, Image.getDefault, Image.create)
..a<Video>(11, 'video', $pb.PbFieldType.OM, Video.getDefault, Video.create)
..a<Audio>(12, 'audio', $pb.PbFieldType.OM, Audio.getDefault, Audio.create)
..a<Software>(13, 'software', $pb.PbFieldType.OM, Software.getDefault, Software.create)
..hasRequiredFields = false
;
Stream._() : super();
factory Stream() => create();
factory Stream.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory Stream.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
Stream clone() => Stream()..mergeFromMessage(this);
Stream copyWith(void Function(Stream) updates) => super.copyWith((message) => updates(message as Stream));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static Stream create() => Stream._();
Stream createEmptyInstance() => create();
static $pb.PbList<Stream> createRepeated() => $pb.PbList<Stream>();
static Stream getDefault() => _defaultInstance ??= create()..freeze();
static Stream _defaultInstance;
Stream_Type whichType() => _Stream_TypeByTag[$_whichOneof(0)];
void clearType() => clearField($_whichOneof(0));
Source get source => $_getN(0);
set source(Source v) { setField(1, v); }
$core.bool hasSource() => $_has(0);
void clearSource() => clearField(1);
$core.String get author => $_getS(1, '');
set author($core.String v) { $_setString(1, v); }
$core.bool hasAuthor() => $_has(1);
void clearAuthor() => clearField(2);
$core.String get license => $_getS(2, '');
set license($core.String v) { $_setString(2, v); }
$core.bool hasLicense() => $_has(2);
void clearLicense() => clearField(3);
$core.String get licenseUrl => $_getS(3, '');
set licenseUrl($core.String v) { $_setString(3, v); }
$core.bool hasLicenseUrl() => $_has(3);
void clearLicenseUrl() => clearField(4);
Int64 get releaseTime => $_getI64(4);
set releaseTime(Int64 v) { $_setInt64(4, v); }
$core.bool hasReleaseTime() => $_has(4);
void clearReleaseTime() => clearField(5);
Fee get fee => $_getN(5);
set fee(Fee v) { setField(6, v); }
$core.bool hasFee() => $_has(5);
void clearFee() => clearField(6);
Image get image => $_getN(6);
set image(Image v) { setField(10, v); }
$core.bool hasImage() => $_has(6);
void clearImage() => clearField(10);
Video get video => $_getN(7);
set video(Video v) { setField(11, v); }
$core.bool hasVideo() => $_has(7);
void clearVideo() => clearField(11);
Audio get audio => $_getN(8);
set audio(Audio v) { setField(12, v); }
$core.bool hasAudio() => $_has(8);
void clearAudio() => clearField(12);
Software get software => $_getN(9);
set software(Software v) { setField(13, v); }
$core.bool hasSoftware() => $_has(9);
void clearSoftware() => clearField(13);
}
class Channel extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Channel', package: const $pb.PackageName('pb'))
..a<$core.List<$core.int>>(1, 'publicKey', $pb.PbFieldType.OY)
..aOS(2, 'email')
..aOS(3, 'websiteUrl')
..a<Source>(4, 'cover', $pb.PbFieldType.OM, Source.getDefault, Source.create)
..a<ClaimList>(5, 'featured', $pb.PbFieldType.OM, ClaimList.getDefault, ClaimList.create)
..hasRequiredFields = false
;
Channel._() : super();
factory Channel() => create();
factory Channel.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory Channel.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
Channel clone() => Channel()..mergeFromMessage(this);
Channel copyWith(void Function(Channel) updates) => super.copyWith((message) => updates(message as Channel));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static Channel create() => Channel._();
Channel createEmptyInstance() => create();
static $pb.PbList<Channel> createRepeated() => $pb.PbList<Channel>();
static Channel getDefault() => _defaultInstance ??= create()..freeze();
static Channel _defaultInstance;
$core.List<$core.int> get publicKey => $_getN(0);
set publicKey($core.List<$core.int> v) { $_setBytes(0, v); }
$core.bool hasPublicKey() => $_has(0);
void clearPublicKey() => clearField(1);
$core.String get email => $_getS(1, '');
set email($core.String v) { $_setString(1, v); }
$core.bool hasEmail() => $_has(1);
void clearEmail() => clearField(2);
$core.String get websiteUrl => $_getS(2, '');
set websiteUrl($core.String v) { $_setString(2, v); }
$core.bool hasWebsiteUrl() => $_has(2);
void clearWebsiteUrl() => clearField(3);
Source get cover => $_getN(3);
set cover(Source v) { setField(4, v); }
$core.bool hasCover() => $_has(3);
void clearCover() => clearField(4);
ClaimList get featured => $_getN(4);
set featured(ClaimList v) { setField(5, v); }
$core.bool hasFeatured() => $_has(4);
void clearFeatured() => clearField(5);
}
class ClaimReference extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo('ClaimReference', package: const $pb.PackageName('pb'))
..a<$core.List<$core.int>>(1, 'claimHash', $pb.PbFieldType.OY)
..hasRequiredFields = false
;
ClaimReference._() : super();
factory ClaimReference() => create();
factory ClaimReference.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory ClaimReference.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
ClaimReference clone() => ClaimReference()..mergeFromMessage(this);
ClaimReference copyWith(void Function(ClaimReference) updates) => super.copyWith((message) => updates(message as ClaimReference));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static ClaimReference create() => ClaimReference._();
ClaimReference createEmptyInstance() => create();
static $pb.PbList<ClaimReference> createRepeated() => $pb.PbList<ClaimReference>();
static ClaimReference getDefault() => _defaultInstance ??= create()..freeze();
static ClaimReference _defaultInstance;
$core.List<$core.int> get claimHash => $_getN(0);
set claimHash($core.List<$core.int> v) { $_setBytes(0, v); }
$core.bool hasClaimHash() => $_has(0);
void clearClaimHash() => clearField(1);
}
class ClaimList extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo('ClaimList', package: const $pb.PackageName('pb'))
..e<ClaimList_ListType>(1, 'listType', $pb.PbFieldType.OE, ClaimList_ListType.COLLECTION, ClaimList_ListType.valueOf, ClaimList_ListType.values)
..pc<ClaimReference>(2, 'claimReferences', $pb.PbFieldType.PM,ClaimReference.create)
..hasRequiredFields = false
;
ClaimList._() : super();
factory ClaimList() => create();
factory ClaimList.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory ClaimList.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
ClaimList clone() => ClaimList()..mergeFromMessage(this);
ClaimList copyWith(void Function(ClaimList) updates) => super.copyWith((message) => updates(message as ClaimList));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static ClaimList create() => ClaimList._();
ClaimList createEmptyInstance() => create();
static $pb.PbList<ClaimList> createRepeated() => $pb.PbList<ClaimList>();
static ClaimList getDefault() => _defaultInstance ??= create()..freeze();
static ClaimList _defaultInstance;
ClaimList_ListType get listType => $_getN(0);
set listType(ClaimList_ListType v) { setField(1, v); }
$core.bool hasListType() => $_has(0);
void clearListType() => clearField(1);
$core.List<ClaimReference> get claimReferences => $_getList(1);
}
class Source extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Source', package: const $pb.PackageName('pb'))
..a<$core.List<$core.int>>(1, 'hash', $pb.PbFieldType.OY)
..aOS(2, 'name')
..a<Int64>(3, 'size', $pb.PbFieldType.OU6, Int64.ZERO)
..aOS(4, 'mediaType')
..aOS(5, 'url')
..a<$core.List<$core.int>>(6, 'sdHash', $pb.PbFieldType.OY)
..hasRequiredFields = false
;
Source._() : super();
factory Source() => create();
factory Source.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory Source.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
Source clone() => Source()..mergeFromMessage(this);
Source copyWith(void Function(Source) updates) => super.copyWith((message) => updates(message as Source));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static Source create() => Source._();
Source createEmptyInstance() => create();
static $pb.PbList<Source> createRepeated() => $pb.PbList<Source>();
static Source getDefault() => _defaultInstance ??= create()..freeze();
static Source _defaultInstance;
$core.List<$core.int> get hash => $_getN(0);
set hash($core.List<$core.int> v) { $_setBytes(0, v); }
$core.bool hasHash() => $_has(0);
void clearHash() => clearField(1);
$core.String get name => $_getS(1, '');
set name($core.String v) { $_setString(1, v); }
$core.bool hasName() => $_has(1);
void clearName() => clearField(2);
Int64 get size => $_getI64(2);
set size(Int64 v) { $_setInt64(2, v); }
$core.bool hasSize() => $_has(2);
void clearSize() => clearField(3);
$core.String get mediaType => $_getS(3, '');
set mediaType($core.String v) { $_setString(3, v); }
$core.bool hasMediaType() => $_has(3);
void clearMediaType() => clearField(4);
$core.String get url => $_getS(4, '');
set url($core.String v) { $_setString(4, v); }
$core.bool hasUrl() => $_has(4);
void clearUrl() => clearField(5);
$core.List<$core.int> get sdHash => $_getN(5);
set sdHash($core.List<$core.int> v) { $_setBytes(5, v); }
$core.bool hasSdHash() => $_has(5);
void clearSdHash() => clearField(6);
}
class Fee extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Fee', package: const $pb.PackageName('pb'))
..e<Fee_Currency>(1, 'currency', $pb.PbFieldType.OE, Fee_Currency.UNKNOWN_CURRENCY, Fee_Currency.valueOf, Fee_Currency.values)
..a<$core.List<$core.int>>(2, 'address', $pb.PbFieldType.OY)
..a<Int64>(3, 'amount', $pb.PbFieldType.OU6, Int64.ZERO)
..hasRequiredFields = false
;
Fee._() : super();
factory Fee() => create();
factory Fee.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory Fee.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
Fee clone() => Fee()..mergeFromMessage(this);
Fee copyWith(void Function(Fee) updates) => super.copyWith((message) => updates(message as Fee));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static Fee create() => Fee._();
Fee createEmptyInstance() => create();
static $pb.PbList<Fee> createRepeated() => $pb.PbList<Fee>();
static Fee getDefault() => _defaultInstance ??= create()..freeze();
static Fee _defaultInstance;
Fee_Currency get currency => $_getN(0);
set currency(Fee_Currency v) { setField(1, v); }
$core.bool hasCurrency() => $_has(0);
void clearCurrency() => clearField(1);
$core.List<$core.int> get address => $_getN(1);
set address($core.List<$core.int> v) { $_setBytes(1, v); }
$core.bool hasAddress() => $_has(1);
void clearAddress() => clearField(2);
Int64 get amount => $_getI64(2);
set amount(Int64 v) { $_setInt64(2, v); }
$core.bool hasAmount() => $_has(2);
void clearAmount() => clearField(3);
}
class Image extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Image', package: const $pb.PackageName('pb'))
..a<$core.int>(1, 'width', $pb.PbFieldType.OU3)
..a<$core.int>(2, 'height', $pb.PbFieldType.OU3)
..hasRequiredFields = false
;
Image._() : super();
factory Image() => create();
factory Image.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory Image.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
Image clone() => Image()..mergeFromMessage(this);
Image copyWith(void Function(Image) updates) => super.copyWith((message) => updates(message as Image));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static Image create() => Image._();
Image createEmptyInstance() => create();
static $pb.PbList<Image> createRepeated() => $pb.PbList<Image>();
static Image getDefault() => _defaultInstance ??= create()..freeze();
static Image _defaultInstance;
$core.int get width => $_get(0, 0);
set width($core.int v) { $_setUnsignedInt32(0, v); }
$core.bool hasWidth() => $_has(0);
void clearWidth() => clearField(1);
$core.int get height => $_get(1, 0);
set height($core.int v) { $_setUnsignedInt32(1, v); }
$core.bool hasHeight() => $_has(1);
void clearHeight() => clearField(2);
}
class Video extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Video', package: const $pb.PackageName('pb'))
..a<$core.int>(1, 'width', $pb.PbFieldType.OU3)
..a<$core.int>(2, 'height', $pb.PbFieldType.OU3)
..a<$core.int>(3, 'duration', $pb.PbFieldType.OU3)
..a<Audio>(15, 'audio', $pb.PbFieldType.OM, Audio.getDefault, Audio.create)
..hasRequiredFields = false
;
Video._() : super();
factory Video() => create();
factory Video.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory Video.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
Video clone() => Video()..mergeFromMessage(this);
Video copyWith(void Function(Video) updates) => super.copyWith((message) => updates(message as Video));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static Video create() => Video._();
Video createEmptyInstance() => create();
static $pb.PbList<Video> createRepeated() => $pb.PbList<Video>();
static Video getDefault() => _defaultInstance ??= create()..freeze();
static Video _defaultInstance;
$core.int get width => $_get(0, 0);
set width($core.int v) { $_setUnsignedInt32(0, v); }
$core.bool hasWidth() => $_has(0);
void clearWidth() => clearField(1);
$core.int get height => $_get(1, 0);
set height($core.int v) { $_setUnsignedInt32(1, v); }
$core.bool hasHeight() => $_has(1);
void clearHeight() => clearField(2);
$core.int get duration => $_get(2, 0);
set duration($core.int v) { $_setUnsignedInt32(2, v); }
$core.bool hasDuration() => $_has(2);
void clearDuration() => clearField(3);
Audio get audio => $_getN(3);
set audio(Audio v) { setField(15, v); }
$core.bool hasAudio() => $_has(3);
void clearAudio() => clearField(15);
}
class Audio extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Audio', package: const $pb.PackageName('pb'))
..a<$core.int>(1, 'duration', $pb.PbFieldType.OU3)
..hasRequiredFields = false
;
Audio._() : super();
factory Audio() => create();
factory Audio.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory Audio.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
Audio clone() => Audio()..mergeFromMessage(this);
Audio copyWith(void Function(Audio) updates) => super.copyWith((message) => updates(message as Audio));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static Audio create() => Audio._();
Audio createEmptyInstance() => create();
static $pb.PbList<Audio> createRepeated() => $pb.PbList<Audio>();
static Audio getDefault() => _defaultInstance ??= create()..freeze();
static Audio _defaultInstance;
$core.int get duration => $_get(0, 0);
set duration($core.int v) { $_setUnsignedInt32(0, v); }
$core.bool hasDuration() => $_has(0);
void clearDuration() => clearField(1);
}
class Software extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Software', package: const $pb.PackageName('pb'))
..aOS(1, 'os')
..hasRequiredFields = false
;
Software._() : super();
factory Software() => create();
factory Software.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory Software.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
Software clone() => Software()..mergeFromMessage(this);
Software copyWith(void Function(Software) updates) => super.copyWith((message) => updates(message as Software));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static Software create() => Software._();
Software createEmptyInstance() => create();
static $pb.PbList<Software> createRepeated() => $pb.PbList<Software>();
static Software getDefault() => _defaultInstance ??= create()..freeze();
static Software _defaultInstance;
$core.String get os => $_getS(0, '');
set os($core.String v) { $_setString(0, v); }
$core.bool hasOs() => $_has(0);
void clearOs() => clearField(1);
}
class Language extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Language', package: const $pb.PackageName('pb'))
..e<Language_Language>(1, 'language', $pb.PbFieldType.OE, Language_Language.UNKNOWN_LANGUAGE, Language_Language.valueOf, Language_Language.values)
..e<Language_Script>(2, 'script', $pb.PbFieldType.OE, Language_Script.UNKNOWN_SCRIPT, Language_Script.valueOf, Language_Script.values)
..e<Location_Country>(3, 'region', $pb.PbFieldType.OE, Location_Country.UNKNOWN_COUNTRY, Location_Country.valueOf, Location_Country.values)
..hasRequiredFields = false
;
Language._() : super();
factory Language() => create();
factory Language.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory Language.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
Language clone() => Language()..mergeFromMessage(this);
Language copyWith(void Function(Language) updates) => super.copyWith((message) => updates(message as Language));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static Language create() => Language._();
Language createEmptyInstance() => create();
static $pb.PbList<Language> createRepeated() => $pb.PbList<Language>();
static Language getDefault() => _defaultInstance ??= create()..freeze();
static Language _defaultInstance;
Language_Language get language => $_getN(0);
set language(Language_Language v) { setField(1, v); }
$core.bool hasLanguage() => $_has(0);
void clearLanguage() => clearField(1);
Language_Script get script => $_getN(1);
set script(Language_Script v) { setField(2, v); }
$core.bool hasScript() => $_has(1);
void clearScript() => clearField(2);
Location_Country get region => $_getN(2);
set region(Location_Country v) { setField(3, v); }
$core.bool hasRegion() => $_has(2);
void clearRegion() => clearField(3);
}
class Location extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Location', package: const $pb.PackageName('pb'))
..e<Location_Country>(1, 'country', $pb.PbFieldType.OE, Location_Country.UNKNOWN_COUNTRY, Location_Country.valueOf, Location_Country.values)
..aOS(2, 'state')
..aOS(3, 'city')
..aOS(4, 'code')
..a<$core.int>(5, 'latitude', $pb.PbFieldType.OS3)
..a<$core.int>(6, 'longitude', $pb.PbFieldType.OS3)
..hasRequiredFields = false
;
Location._() : super();
factory Location() => create();
factory Location.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory Location.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
Location clone() => Location()..mergeFromMessage(this);
Location copyWith(void Function(Location) updates) => super.copyWith((message) => updates(message as Location));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static Location create() => Location._();
Location createEmptyInstance() => create();
static $pb.PbList<Location> createRepeated() => $pb.PbList<Location>();
static Location getDefault() => _defaultInstance ??= create()..freeze();
static Location _defaultInstance;
Location_Country get country => $_getN(0);
set country(Location_Country v) { setField(1, v); }
$core.bool hasCountry() => $_has(0);
void clearCountry() => clearField(1);
$core.String get state => $_getS(1, '');
set state($core.String v) { $_setString(1, v); }
$core.bool hasState() => $_has(1);
void clearState() => clearField(2);
$core.String get city => $_getS(2, '');
set city($core.String v) { $_setString(2, v); }
$core.bool hasCity() => $_has(2);
void clearCity() => clearField(3);
$core.String get code => $_getS(3, '');
set code($core.String v) { $_setString(3, v); }
$core.bool hasCode() => $_has(3);
void clearCode() => clearField(4);
$core.int get latitude => $_get(4, 0);
set latitude($core.int v) { $_setSignedInt32(4, v); }
$core.bool hasLatitude() => $_has(4);
void clearLatitude() => clearField(5);
$core.int get longitude => $_get(5, 0);
set longitude($core.int v) { $_setSignedInt32(5, v); }
$core.bool hasLongitude() => $_has(5);
void clearLongitude() => clearField(6);
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,833 @@
///
// Generated code. Do not modify.
// source: claim.proto
///
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type
const Claim$json = const {
'1': 'Claim',
'2': const [
const {'1': 'stream', '3': 1, '4': 1, '5': 11, '6': '.pb.Stream', '9': 0, '10': 'stream'},
const {'1': 'channel', '3': 2, '4': 1, '5': 11, '6': '.pb.Channel', '9': 0, '10': 'channel'},
const {'1': 'collection', '3': 3, '4': 1, '5': 11, '6': '.pb.ClaimList', '9': 0, '10': 'collection'},
const {'1': 'repost', '3': 4, '4': 1, '5': 11, '6': '.pb.ClaimReference', '9': 0, '10': 'repost'},
const {'1': 'title', '3': 8, '4': 1, '5': 9, '10': 'title'},
const {'1': 'description', '3': 9, '4': 1, '5': 9, '10': 'description'},
const {'1': 'thumbnail', '3': 10, '4': 1, '5': 11, '6': '.pb.Source', '10': 'thumbnail'},
const {'1': 'tags', '3': 11, '4': 3, '5': 9, '10': 'tags'},
const {'1': 'languages', '3': 12, '4': 3, '5': 11, '6': '.pb.Language', '10': 'languages'},
const {'1': 'locations', '3': 13, '4': 3, '5': 11, '6': '.pb.Location', '10': 'locations'},
],
'8': const [
const {'1': 'type'},
],
};
const Stream$json = const {
'1': 'Stream',
'2': const [
const {'1': 'source', '3': 1, '4': 1, '5': 11, '6': '.pb.Source', '10': 'source'},
const {'1': 'author', '3': 2, '4': 1, '5': 9, '10': 'author'},
const {'1': 'license', '3': 3, '4': 1, '5': 9, '10': 'license'},
const {'1': 'license_url', '3': 4, '4': 1, '5': 9, '10': 'licenseUrl'},
const {'1': 'release_time', '3': 5, '4': 1, '5': 3, '10': 'releaseTime'},
const {'1': 'fee', '3': 6, '4': 1, '5': 11, '6': '.pb.Fee', '10': 'fee'},
const {'1': 'image', '3': 10, '4': 1, '5': 11, '6': '.pb.Image', '9': 0, '10': 'image'},
const {'1': 'video', '3': 11, '4': 1, '5': 11, '6': '.pb.Video', '9': 0, '10': 'video'},
const {'1': 'audio', '3': 12, '4': 1, '5': 11, '6': '.pb.Audio', '9': 0, '10': 'audio'},
const {'1': 'software', '3': 13, '4': 1, '5': 11, '6': '.pb.Software', '9': 0, '10': 'software'},
],
'8': const [
const {'1': 'type'},
],
};
const Channel$json = const {
'1': 'Channel',
'2': const [
const {'1': 'public_key', '3': 1, '4': 1, '5': 12, '10': 'publicKey'},
const {'1': 'email', '3': 2, '4': 1, '5': 9, '10': 'email'},
const {'1': 'website_url', '3': 3, '4': 1, '5': 9, '10': 'websiteUrl'},
const {'1': 'cover', '3': 4, '4': 1, '5': 11, '6': '.pb.Source', '10': 'cover'},
const {'1': 'featured', '3': 5, '4': 1, '5': 11, '6': '.pb.ClaimList', '10': 'featured'},
],
};
const ClaimReference$json = const {
'1': 'ClaimReference',
'2': const [
const {'1': 'claim_hash', '3': 1, '4': 1, '5': 12, '10': 'claimHash'},
],
};
const ClaimList$json = const {
'1': 'ClaimList',
'2': const [
const {'1': 'list_type', '3': 1, '4': 1, '5': 14, '6': '.pb.ClaimList.ListType', '10': 'listType'},
const {'1': 'claim_references', '3': 2, '4': 3, '5': 11, '6': '.pb.ClaimReference', '10': 'claimReferences'},
],
'4': const [ClaimList_ListType$json],
};
const ClaimList_ListType$json = const {
'1': 'ListType',
'2': const [
const {'1': 'COLLECTION', '2': 0},
const {'1': 'DERIVATION', '2': 2},
],
};
const Source$json = const {
'1': 'Source',
'2': const [
const {'1': 'hash', '3': 1, '4': 1, '5': 12, '10': 'hash'},
const {'1': 'name', '3': 2, '4': 1, '5': 9, '10': 'name'},
const {'1': 'size', '3': 3, '4': 1, '5': 4, '10': 'size'},
const {'1': 'media_type', '3': 4, '4': 1, '5': 9, '10': 'mediaType'},
const {'1': 'url', '3': 5, '4': 1, '5': 9, '10': 'url'},
const {'1': 'sd_hash', '3': 6, '4': 1, '5': 12, '10': 'sdHash'},
],
};
const Fee$json = const {
'1': 'Fee',
'2': const [
const {'1': 'currency', '3': 1, '4': 1, '5': 14, '6': '.pb.Fee.Currency', '10': 'currency'},
const {'1': 'address', '3': 2, '4': 1, '5': 12, '10': 'address'},
const {'1': 'amount', '3': 3, '4': 1, '5': 4, '10': 'amount'},
],
'4': const [Fee_Currency$json],
};
const Fee_Currency$json = const {
'1': 'Currency',
'2': const [
const {'1': 'UNKNOWN_CURRENCY', '2': 0},
const {'1': 'LBC', '2': 1},
const {'1': 'BTC', '2': 2},
const {'1': 'USD', '2': 3},
],
};
const Image$json = const {
'1': 'Image',
'2': const [
const {'1': 'width', '3': 1, '4': 1, '5': 13, '10': 'width'},
const {'1': 'height', '3': 2, '4': 1, '5': 13, '10': 'height'},
],
};
const Video$json = const {
'1': 'Video',
'2': const [
const {'1': 'width', '3': 1, '4': 1, '5': 13, '10': 'width'},
const {'1': 'height', '3': 2, '4': 1, '5': 13, '10': 'height'},
const {'1': 'duration', '3': 3, '4': 1, '5': 13, '10': 'duration'},
const {'1': 'audio', '3': 15, '4': 1, '5': 11, '6': '.pb.Audio', '10': 'audio'},
],
};
const Audio$json = const {
'1': 'Audio',
'2': const [
const {'1': 'duration', '3': 1, '4': 1, '5': 13, '10': 'duration'},
],
};
const Software$json = const {
'1': 'Software',
'2': const [
const {'1': 'os', '3': 1, '4': 1, '5': 9, '10': 'os'},
],
'4': const [Software_OS$json],
};
const Software_OS$json = const {
'1': 'OS',
'2': const [
const {'1': 'UNKNOWN_OS', '2': 0},
const {'1': 'ANY', '2': 1},
const {'1': 'LINUX', '2': 2},
const {'1': 'WINDOWS', '2': 3},
const {'1': 'MAC', '2': 4},
const {'1': 'ANDROID', '2': 5},
const {'1': 'IOS', '2': 6},
],
};
const Language$json = const {
'1': 'Language',
'2': const [
const {'1': 'language', '3': 1, '4': 1, '5': 14, '6': '.pb.Language.Language', '10': 'language'},
const {'1': 'script', '3': 2, '4': 1, '5': 14, '6': '.pb.Language.Script', '10': 'script'},
const {'1': 'region', '3': 3, '4': 1, '5': 14, '6': '.pb.Location.Country', '10': 'region'},
],
'4': const [Language_Language$json, Language_Script$json],
};
const Language_Language$json = const {
'1': 'Language',
'2': const [
const {'1': 'UNKNOWN_LANGUAGE', '2': 0},
const {'1': 'en', '2': 1},
const {'1': 'aa', '2': 2},
const {'1': 'ab', '2': 3},
const {'1': 'ae', '2': 4},
const {'1': 'af', '2': 5},
const {'1': 'ak', '2': 6},
const {'1': 'am', '2': 7},
const {'1': 'an', '2': 8},
const {'1': 'ar', '2': 9},
const {'1': 'as', '2': 10},
const {'1': 'av', '2': 11},
const {'1': 'ay', '2': 12},
const {'1': 'az', '2': 13},
const {'1': 'ba', '2': 14},
const {'1': 'be', '2': 15},
const {'1': 'bg', '2': 16},
const {'1': 'bh', '2': 17},
const {'1': 'bi', '2': 18},
const {'1': 'bm', '2': 19},
const {'1': 'bn', '2': 20},
const {'1': 'bo', '2': 21},
const {'1': 'br', '2': 22},
const {'1': 'bs', '2': 23},
const {'1': 'ca', '2': 24},
const {'1': 'ce', '2': 25},
const {'1': 'ch', '2': 26},
const {'1': 'co', '2': 27},
const {'1': 'cr', '2': 28},
const {'1': 'cs', '2': 29},
const {'1': 'cu', '2': 30},
const {'1': 'cv', '2': 31},
const {'1': 'cy', '2': 32},
const {'1': 'da', '2': 33},
const {'1': 'de', '2': 34},
const {'1': 'dv', '2': 35},
const {'1': 'dz', '2': 36},
const {'1': 'ee', '2': 37},
const {'1': 'el', '2': 38},
const {'1': 'eo', '2': 39},
const {'1': 'es', '2': 40},
const {'1': 'et', '2': 41},
const {'1': 'eu', '2': 42},
const {'1': 'fa', '2': 43},
const {'1': 'ff', '2': 44},
const {'1': 'fi', '2': 45},
const {'1': 'fj', '2': 46},
const {'1': 'fo', '2': 47},
const {'1': 'fr', '2': 48},
const {'1': 'fy', '2': 49},
const {'1': 'ga', '2': 50},
const {'1': 'gd', '2': 51},
const {'1': 'gl', '2': 52},
const {'1': 'gn', '2': 53},
const {'1': 'gu', '2': 54},
const {'1': 'gv', '2': 55},
const {'1': 'ha', '2': 56},
const {'1': 'he', '2': 57},
const {'1': 'hi', '2': 58},
const {'1': 'ho', '2': 59},
const {'1': 'hr', '2': 60},
const {'1': 'ht', '2': 61},
const {'1': 'hu', '2': 62},
const {'1': 'hy', '2': 63},
const {'1': 'hz', '2': 64},
const {'1': 'ia', '2': 65},
const {'1': 'id', '2': 66},
const {'1': 'ie', '2': 67},
const {'1': 'ig', '2': 68},
const {'1': 'ii', '2': 69},
const {'1': 'ik', '2': 70},
const {'1': 'io', '2': 71},
const {'1': 'is', '2': 72},
const {'1': 'it', '2': 73},
const {'1': 'iu', '2': 74},
const {'1': 'ja', '2': 75},
const {'1': 'jv', '2': 76},
const {'1': 'ka', '2': 77},
const {'1': 'kg', '2': 78},
const {'1': 'ki', '2': 79},
const {'1': 'kj', '2': 80},
const {'1': 'kk', '2': 81},
const {'1': 'kl', '2': 82},
const {'1': 'km', '2': 83},
const {'1': 'kn', '2': 84},
const {'1': 'ko', '2': 85},
const {'1': 'kr', '2': 86},
const {'1': 'ks', '2': 87},
const {'1': 'ku', '2': 88},
const {'1': 'kv', '2': 89},
const {'1': 'kw', '2': 90},
const {'1': 'ky', '2': 91},
const {'1': 'la', '2': 92},
const {'1': 'lb', '2': 93},
const {'1': 'lg', '2': 94},
const {'1': 'li', '2': 95},
const {'1': 'ln', '2': 96},
const {'1': 'lo', '2': 97},
const {'1': 'lt', '2': 98},
const {'1': 'lu', '2': 99},
const {'1': 'lv', '2': 100},
const {'1': 'mg', '2': 101},
const {'1': 'mh', '2': 102},
const {'1': 'mi', '2': 103},
const {'1': 'mk', '2': 104},
const {'1': 'ml', '2': 105},
const {'1': 'mn', '2': 106},
const {'1': 'mr', '2': 107},
const {'1': 'ms', '2': 108},
const {'1': 'mt', '2': 109},
const {'1': 'my', '2': 110},
const {'1': 'na', '2': 111},
const {'1': 'nb', '2': 112},
const {'1': 'nd', '2': 113},
const {'1': 'ne', '2': 114},
const {'1': 'ng', '2': 115},
const {'1': 'nl', '2': 116},
const {'1': 'nn', '2': 117},
const {'1': 'no', '2': 118},
const {'1': 'nr', '2': 119},
const {'1': 'nv', '2': 120},
const {'1': 'ny', '2': 121},
const {'1': 'oc', '2': 122},
const {'1': 'oj', '2': 123},
const {'1': 'om', '2': 124},
const {'1': 'or', '2': 125},
const {'1': 'os', '2': 126},
const {'1': 'pa', '2': 127},
const {'1': 'pi', '2': 128},
const {'1': 'pl', '2': 129},
const {'1': 'ps', '2': 130},
const {'1': 'pt', '2': 131},
const {'1': 'qu', '2': 132},
const {'1': 'rm', '2': 133},
const {'1': 'rn', '2': 134},
const {'1': 'ro', '2': 135},
const {'1': 'ru', '2': 136},
const {'1': 'rw', '2': 137},
const {'1': 'sa', '2': 138},
const {'1': 'sc', '2': 139},
const {'1': 'sd', '2': 140},
const {'1': 'se', '2': 141},
const {'1': 'sg', '2': 142},
const {'1': 'si', '2': 143},
const {'1': 'sk', '2': 144},
const {'1': 'sl', '2': 145},
const {'1': 'sm', '2': 146},
const {'1': 'sn', '2': 147},
const {'1': 'so', '2': 148},
const {'1': 'sq', '2': 149},
const {'1': 'sr', '2': 150},
const {'1': 'ss', '2': 151},
const {'1': 'st', '2': 152},
const {'1': 'su', '2': 153},
const {'1': 'sv', '2': 154},
const {'1': 'sw', '2': 155},
const {'1': 'ta', '2': 156},
const {'1': 'te', '2': 157},
const {'1': 'tg', '2': 158},
const {'1': 'th', '2': 159},
const {'1': 'ti', '2': 160},
const {'1': 'tk', '2': 161},
const {'1': 'tl', '2': 162},
const {'1': 'tn', '2': 163},
const {'1': 'to', '2': 164},
const {'1': 'tr', '2': 165},
const {'1': 'ts', '2': 166},
const {'1': 'tt', '2': 167},
const {'1': 'tw', '2': 168},
const {'1': 'ty', '2': 169},
const {'1': 'ug', '2': 170},
const {'1': 'uk', '2': 171},
const {'1': 'ur', '2': 172},
const {'1': 'uz', '2': 173},
const {'1': 've', '2': 174},
const {'1': 'vi', '2': 175},
const {'1': 'vo', '2': 176},
const {'1': 'wa', '2': 177},
const {'1': 'wo', '2': 178},
const {'1': 'xh', '2': 179},
const {'1': 'yi', '2': 180},
const {'1': 'yo', '2': 181},
const {'1': 'za', '2': 182},
const {'1': 'zh', '2': 183},
const {'1': 'zu', '2': 184},
],
};
const Language_Script$json = const {
'1': 'Script',
'2': const [
const {'1': 'UNKNOWN_SCRIPT', '2': 0},
const {'1': 'Adlm', '2': 1},
const {'1': 'Afak', '2': 2},
const {'1': 'Aghb', '2': 3},
const {'1': 'Ahom', '2': 4},
const {'1': 'Arab', '2': 5},
const {'1': 'Aran', '2': 6},
const {'1': 'Armi', '2': 7},
const {'1': 'Armn', '2': 8},
const {'1': 'Avst', '2': 9},
const {'1': 'Bali', '2': 10},
const {'1': 'Bamu', '2': 11},
const {'1': 'Bass', '2': 12},
const {'1': 'Batk', '2': 13},
const {'1': 'Beng', '2': 14},
const {'1': 'Bhks', '2': 15},
const {'1': 'Blis', '2': 16},
const {'1': 'Bopo', '2': 17},
const {'1': 'Brah', '2': 18},
const {'1': 'Brai', '2': 19},
const {'1': 'Bugi', '2': 20},
const {'1': 'Buhd', '2': 21},
const {'1': 'Cakm', '2': 22},
const {'1': 'Cans', '2': 23},
const {'1': 'Cari', '2': 24},
const {'1': 'Cham', '2': 25},
const {'1': 'Cher', '2': 26},
const {'1': 'Cirt', '2': 27},
const {'1': 'Copt', '2': 28},
const {'1': 'Cpmn', '2': 29},
const {'1': 'Cprt', '2': 30},
const {'1': 'Cyrl', '2': 31},
const {'1': 'Cyrs', '2': 32},
const {'1': 'Deva', '2': 33},
const {'1': 'Dogr', '2': 34},
const {'1': 'Dsrt', '2': 35},
const {'1': 'Dupl', '2': 36},
const {'1': 'Egyd', '2': 37},
const {'1': 'Egyh', '2': 38},
const {'1': 'Egyp', '2': 39},
const {'1': 'Elba', '2': 40},
const {'1': 'Elym', '2': 41},
const {'1': 'Ethi', '2': 42},
const {'1': 'Geok', '2': 43},
const {'1': 'Geor', '2': 44},
const {'1': 'Glag', '2': 45},
const {'1': 'Gong', '2': 46},
const {'1': 'Gonm', '2': 47},
const {'1': 'Goth', '2': 48},
const {'1': 'Gran', '2': 49},
const {'1': 'Grek', '2': 50},
const {'1': 'Gujr', '2': 51},
const {'1': 'Guru', '2': 52},
const {'1': 'Hanb', '2': 53},
const {'1': 'Hang', '2': 54},
const {'1': 'Hani', '2': 55},
const {'1': 'Hano', '2': 56},
const {'1': 'Hans', '2': 57},
const {'1': 'Hant', '2': 58},
const {'1': 'Hatr', '2': 59},
const {'1': 'Hebr', '2': 60},
const {'1': 'Hira', '2': 61},
const {'1': 'Hluw', '2': 62},
const {'1': 'Hmng', '2': 63},
const {'1': 'Hmnp', '2': 64},
const {'1': 'Hrkt', '2': 65},
const {'1': 'Hung', '2': 66},
const {'1': 'Inds', '2': 67},
const {'1': 'Ital', '2': 68},
const {'1': 'Jamo', '2': 69},
const {'1': 'Java', '2': 70},
const {'1': 'Jpan', '2': 71},
const {'1': 'Jurc', '2': 72},
const {'1': 'Kali', '2': 73},
const {'1': 'Kana', '2': 74},
const {'1': 'Khar', '2': 75},
const {'1': 'Khmr', '2': 76},
const {'1': 'Khoj', '2': 77},
const {'1': 'Kitl', '2': 78},
const {'1': 'Kits', '2': 79},
const {'1': 'Knda', '2': 80},
const {'1': 'Kore', '2': 81},
const {'1': 'Kpel', '2': 82},
const {'1': 'Kthi', '2': 83},
const {'1': 'Lana', '2': 84},
const {'1': 'Laoo', '2': 85},
const {'1': 'Latf', '2': 86},
const {'1': 'Latg', '2': 87},
const {'1': 'Latn', '2': 88},
const {'1': 'Leke', '2': 89},
const {'1': 'Lepc', '2': 90},
const {'1': 'Limb', '2': 91},
const {'1': 'Lina', '2': 92},
const {'1': 'Linb', '2': 93},
const {'1': 'Lisu', '2': 94},
const {'1': 'Loma', '2': 95},
const {'1': 'Lyci', '2': 96},
const {'1': 'Lydi', '2': 97},
const {'1': 'Mahj', '2': 98},
const {'1': 'Maka', '2': 99},
const {'1': 'Mand', '2': 100},
const {'1': 'Mani', '2': 101},
const {'1': 'Marc', '2': 102},
const {'1': 'Maya', '2': 103},
const {'1': 'Medf', '2': 104},
const {'1': 'Mend', '2': 105},
const {'1': 'Merc', '2': 106},
const {'1': 'Mero', '2': 107},
const {'1': 'Mlym', '2': 108},
const {'1': 'Modi', '2': 109},
const {'1': 'Mong', '2': 110},
const {'1': 'Moon', '2': 111},
const {'1': 'Mroo', '2': 112},
const {'1': 'Mtei', '2': 113},
const {'1': 'Mult', '2': 114},
const {'1': 'Mymr', '2': 115},
const {'1': 'Nand', '2': 116},
const {'1': 'Narb', '2': 117},
const {'1': 'Nbat', '2': 118},
const {'1': 'Newa', '2': 119},
const {'1': 'Nkdb', '2': 120},
const {'1': 'Nkgb', '2': 121},
const {'1': 'Nkoo', '2': 122},
const {'1': 'Nshu', '2': 123},
const {'1': 'Ogam', '2': 124},
const {'1': 'Olck', '2': 125},
const {'1': 'Orkh', '2': 126},
const {'1': 'Orya', '2': 127},
const {'1': 'Osge', '2': 128},
const {'1': 'Osma', '2': 129},
const {'1': 'Palm', '2': 130},
const {'1': 'Pauc', '2': 131},
const {'1': 'Perm', '2': 132},
const {'1': 'Phag', '2': 133},
const {'1': 'Phli', '2': 134},
const {'1': 'Phlp', '2': 135},
const {'1': 'Phlv', '2': 136},
const {'1': 'Phnx', '2': 137},
const {'1': 'Plrd', '2': 138},
const {'1': 'Piqd', '2': 139},
const {'1': 'Prti', '2': 140},
const {'1': 'Qaaa', '2': 141},
const {'1': 'Qabx', '2': 142},
const {'1': 'Rjng', '2': 143},
const {'1': 'Rohg', '2': 144},
const {'1': 'Roro', '2': 145},
const {'1': 'Runr', '2': 146},
const {'1': 'Samr', '2': 147},
const {'1': 'Sara', '2': 148},
const {'1': 'Sarb', '2': 149},
const {'1': 'Saur', '2': 150},
const {'1': 'Sgnw', '2': 151},
const {'1': 'Shaw', '2': 152},
const {'1': 'Shrd', '2': 153},
const {'1': 'Shui', '2': 154},
const {'1': 'Sidd', '2': 155},
const {'1': 'Sind', '2': 156},
const {'1': 'Sinh', '2': 157},
const {'1': 'Sogd', '2': 158},
const {'1': 'Sogo', '2': 159},
const {'1': 'Sora', '2': 160},
const {'1': 'Soyo', '2': 161},
const {'1': 'Sund', '2': 162},
const {'1': 'Sylo', '2': 163},
const {'1': 'Syrc', '2': 164},
const {'1': 'Syre', '2': 165},
const {'1': 'Syrj', '2': 166},
const {'1': 'Syrn', '2': 167},
const {'1': 'Tagb', '2': 168},
const {'1': 'Takr', '2': 169},
const {'1': 'Tale', '2': 170},
const {'1': 'Talu', '2': 171},
const {'1': 'Taml', '2': 172},
const {'1': 'Tang', '2': 173},
const {'1': 'Tavt', '2': 174},
const {'1': 'Telu', '2': 175},
const {'1': 'Teng', '2': 176},
const {'1': 'Tfng', '2': 177},
const {'1': 'Tglg', '2': 178},
const {'1': 'Thaa', '2': 179},
const {'1': 'Thai', '2': 180},
const {'1': 'Tibt', '2': 181},
const {'1': 'Tirh', '2': 182},
const {'1': 'Ugar', '2': 183},
const {'1': 'Vaii', '2': 184},
const {'1': 'Visp', '2': 185},
const {'1': 'Wara', '2': 186},
const {'1': 'Wcho', '2': 187},
const {'1': 'Wole', '2': 188},
const {'1': 'Xpeo', '2': 189},
const {'1': 'Xsux', '2': 190},
const {'1': 'Yiii', '2': 191},
const {'1': 'Zanb', '2': 192},
const {'1': 'Zinh', '2': 193},
const {'1': 'Zmth', '2': 194},
const {'1': 'Zsye', '2': 195},
const {'1': 'Zsym', '2': 196},
const {'1': 'Zxxx', '2': 197},
const {'1': 'Zyyy', '2': 198},
const {'1': 'Zzzz', '2': 199},
],
};
const Location$json = const {
'1': 'Location',
'2': const [
const {'1': 'country', '3': 1, '4': 1, '5': 14, '6': '.pb.Location.Country', '10': 'country'},
const {'1': 'state', '3': 2, '4': 1, '5': 9, '10': 'state'},
const {'1': 'city', '3': 3, '4': 1, '5': 9, '10': 'city'},
const {'1': 'code', '3': 4, '4': 1, '5': 9, '10': 'code'},
const {'1': 'latitude', '3': 5, '4': 1, '5': 17, '10': 'latitude'},
const {'1': 'longitude', '3': 6, '4': 1, '5': 17, '10': 'longitude'},
],
'4': const [Location_Country$json],
};
const Location_Country$json = const {
'1': 'Country',
'2': const [
const {'1': 'UNKNOWN_COUNTRY', '2': 0},
const {'1': 'AF', '2': 1},
const {'1': 'AX', '2': 2},
const {'1': 'AL', '2': 3},
const {'1': 'DZ', '2': 4},
const {'1': 'AS', '2': 5},
const {'1': 'AD', '2': 6},
const {'1': 'AO', '2': 7},
const {'1': 'AI', '2': 8},
const {'1': 'AQ', '2': 9},
const {'1': 'AG', '2': 10},
const {'1': 'AR', '2': 11},
const {'1': 'AM', '2': 12},
const {'1': 'AW', '2': 13},
const {'1': 'AU', '2': 14},
const {'1': 'AT', '2': 15},
const {'1': 'AZ', '2': 16},
const {'1': 'BS', '2': 17},
const {'1': 'BH', '2': 18},
const {'1': 'BD', '2': 19},
const {'1': 'BB', '2': 20},
const {'1': 'BY', '2': 21},
const {'1': 'BE', '2': 22},
const {'1': 'BZ', '2': 23},
const {'1': 'BJ', '2': 24},
const {'1': 'BM', '2': 25},
const {'1': 'BT', '2': 26},
const {'1': 'BO', '2': 27},
const {'1': 'BQ', '2': 28},
const {'1': 'BA', '2': 29},
const {'1': 'BW', '2': 30},
const {'1': 'BV', '2': 31},
const {'1': 'BR', '2': 32},
const {'1': 'IO', '2': 33},
const {'1': 'BN', '2': 34},
const {'1': 'BG', '2': 35},
const {'1': 'BF', '2': 36},
const {'1': 'BI', '2': 37},
const {'1': 'KH', '2': 38},
const {'1': 'CM', '2': 39},
const {'1': 'CA', '2': 40},
const {'1': 'CV', '2': 41},
const {'1': 'KY', '2': 42},
const {'1': 'CF', '2': 43},
const {'1': 'TD', '2': 44},
const {'1': 'CL', '2': 45},
const {'1': 'CN', '2': 46},
const {'1': 'CX', '2': 47},
const {'1': 'CC', '2': 48},
const {'1': 'CO', '2': 49},
const {'1': 'KM', '2': 50},
const {'1': 'CG', '2': 51},
const {'1': 'CD', '2': 52},
const {'1': 'CK', '2': 53},
const {'1': 'CR', '2': 54},
const {'1': 'CI', '2': 55},
const {'1': 'HR', '2': 56},
const {'1': 'CU', '2': 57},
const {'1': 'CW', '2': 58},
const {'1': 'CY', '2': 59},
const {'1': 'CZ', '2': 60},
const {'1': 'DK', '2': 61},
const {'1': 'DJ', '2': 62},
const {'1': 'DM', '2': 63},
const {'1': 'DO', '2': 64},
const {'1': 'EC', '2': 65},
const {'1': 'EG', '2': 66},
const {'1': 'SV', '2': 67},
const {'1': 'GQ', '2': 68},
const {'1': 'ER', '2': 69},
const {'1': 'EE', '2': 70},
const {'1': 'ET', '2': 71},
const {'1': 'FK', '2': 72},
const {'1': 'FO', '2': 73},
const {'1': 'FJ', '2': 74},
const {'1': 'FI', '2': 75},
const {'1': 'FR', '2': 76},
const {'1': 'GF', '2': 77},
const {'1': 'PF', '2': 78},
const {'1': 'TF', '2': 79},
const {'1': 'GA', '2': 80},
const {'1': 'GM', '2': 81},
const {'1': 'GE', '2': 82},
const {'1': 'DE', '2': 83},
const {'1': 'GH', '2': 84},
const {'1': 'GI', '2': 85},
const {'1': 'GR', '2': 86},
const {'1': 'GL', '2': 87},
const {'1': 'GD', '2': 88},
const {'1': 'GP', '2': 89},
const {'1': 'GU', '2': 90},
const {'1': 'GT', '2': 91},
const {'1': 'GG', '2': 92},
const {'1': 'GN', '2': 93},
const {'1': 'GW', '2': 94},
const {'1': 'GY', '2': 95},
const {'1': 'HT', '2': 96},
const {'1': 'HM', '2': 97},
const {'1': 'VA', '2': 98},
const {'1': 'HN', '2': 99},
const {'1': 'HK', '2': 100},
const {'1': 'HU', '2': 101},
const {'1': 'IS', '2': 102},
const {'1': 'IN', '2': 103},
const {'1': 'ID', '2': 104},
const {'1': 'IR', '2': 105},
const {'1': 'IQ', '2': 106},
const {'1': 'IE', '2': 107},
const {'1': 'IM', '2': 108},
const {'1': 'IL', '2': 109},
const {'1': 'IT', '2': 110},
const {'1': 'JM', '2': 111},
const {'1': 'JP', '2': 112},
const {'1': 'JE', '2': 113},
const {'1': 'JO', '2': 114},
const {'1': 'KZ', '2': 115},
const {'1': 'KE', '2': 116},
const {'1': 'KI', '2': 117},
const {'1': 'KP', '2': 118},
const {'1': 'KR', '2': 119},
const {'1': 'KW', '2': 120},
const {'1': 'KG', '2': 121},
const {'1': 'LA', '2': 122},
const {'1': 'LV', '2': 123},
const {'1': 'LB', '2': 124},
const {'1': 'LS', '2': 125},
const {'1': 'LR', '2': 126},
const {'1': 'LY', '2': 127},
const {'1': 'LI', '2': 128},
const {'1': 'LT', '2': 129},
const {'1': 'LU', '2': 130},
const {'1': 'MO', '2': 131},
const {'1': 'MK', '2': 132},
const {'1': 'MG', '2': 133},
const {'1': 'MW', '2': 134},
const {'1': 'MY', '2': 135},
const {'1': 'MV', '2': 136},
const {'1': 'ML', '2': 137},
const {'1': 'MT', '2': 138},
const {'1': 'MH', '2': 139},
const {'1': 'MQ', '2': 140},
const {'1': 'MR', '2': 141},
const {'1': 'MU', '2': 142},
const {'1': 'YT', '2': 143},
const {'1': 'MX', '2': 144},
const {'1': 'FM', '2': 145},
const {'1': 'MD', '2': 146},
const {'1': 'MC', '2': 147},
const {'1': 'MN', '2': 148},
const {'1': 'ME', '2': 149},
const {'1': 'MS', '2': 150},
const {'1': 'MA', '2': 151},
const {'1': 'MZ', '2': 152},
const {'1': 'MM', '2': 153},
const {'1': 'NA', '2': 154},
const {'1': 'NR', '2': 155},
const {'1': 'NP', '2': 156},
const {'1': 'NL', '2': 157},
const {'1': 'NC', '2': 158},
const {'1': 'NZ', '2': 159},
const {'1': 'NI', '2': 160},
const {'1': 'NE', '2': 161},
const {'1': 'NG', '2': 162},
const {'1': 'NU', '2': 163},
const {'1': 'NF', '2': 164},
const {'1': 'MP', '2': 165},
const {'1': 'NO', '2': 166},
const {'1': 'OM', '2': 167},
const {'1': 'PK', '2': 168},
const {'1': 'PW', '2': 169},
const {'1': 'PS', '2': 170},
const {'1': 'PA', '2': 171},
const {'1': 'PG', '2': 172},
const {'1': 'PY', '2': 173},
const {'1': 'PE', '2': 174},
const {'1': 'PH', '2': 175},
const {'1': 'PN', '2': 176},
const {'1': 'PL', '2': 177},
const {'1': 'PT', '2': 178},
const {'1': 'PR', '2': 179},
const {'1': 'QA', '2': 180},
const {'1': 'RE', '2': 181},
const {'1': 'RO', '2': 182},
const {'1': 'RU', '2': 183},
const {'1': 'RW', '2': 184},
const {'1': 'BL', '2': 185},
const {'1': 'SH', '2': 186},
const {'1': 'KN', '2': 187},
const {'1': 'LC', '2': 188},
const {'1': 'MF', '2': 189},
const {'1': 'PM', '2': 190},
const {'1': 'VC', '2': 191},
const {'1': 'WS', '2': 192},
const {'1': 'SM', '2': 193},
const {'1': 'ST', '2': 194},
const {'1': 'SA', '2': 195},
const {'1': 'SN', '2': 196},
const {'1': 'RS', '2': 197},
const {'1': 'SC', '2': 198},
const {'1': 'SL', '2': 199},
const {'1': 'SG', '2': 200},
const {'1': 'SX', '2': 201},
const {'1': 'SK', '2': 202},
const {'1': 'SI', '2': 203},
const {'1': 'SB', '2': 204},
const {'1': 'SO', '2': 205},
const {'1': 'ZA', '2': 206},
const {'1': 'GS', '2': 207},
const {'1': 'SS', '2': 208},
const {'1': 'ES', '2': 209},
const {'1': 'LK', '2': 210},
const {'1': 'SD', '2': 211},
const {'1': 'SR', '2': 212},
const {'1': 'SJ', '2': 213},
const {'1': 'SZ', '2': 214},
const {'1': 'SE', '2': 215},
const {'1': 'CH', '2': 216},
const {'1': 'SY', '2': 217},
const {'1': 'TW', '2': 218},
const {'1': 'TJ', '2': 219},
const {'1': 'TZ', '2': 220},
const {'1': 'TH', '2': 221},
const {'1': 'TL', '2': 222},
const {'1': 'TG', '2': 223},
const {'1': 'TK', '2': 224},
const {'1': 'TO', '2': 225},
const {'1': 'TT', '2': 226},
const {'1': 'TN', '2': 227},
const {'1': 'TR', '2': 228},
const {'1': 'TM', '2': 229},
const {'1': 'TC', '2': 230},
const {'1': 'TV', '2': 231},
const {'1': 'UG', '2': 232},
const {'1': 'UA', '2': 233},
const {'1': 'AE', '2': 234},
const {'1': 'GB', '2': 235},
const {'1': 'US', '2': 236},
const {'1': 'UM', '2': 237},
const {'1': 'UY', '2': 238},
const {'1': 'UZ', '2': 239},
const {'1': 'VU', '2': 240},
const {'1': 'VE', '2': 241},
const {'1': 'VN', '2': 242},
const {'1': 'VG', '2': 243},
const {'1': 'VI', '2': 244},
const {'1': 'WF', '2': 245},
const {'1': 'EH', '2': 246},
const {'1': 'YE', '2': 247},
const {'1': 'ZM', '2': 248},
const {'1': 'ZW', '2': 249},
],
};

View file

@ -0,0 +1,8 @@
///
// Generated code. Do not modify.
// source: claim.proto
///
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type
export 'claim.pb.dart';

View file

@ -0,0 +1,260 @@
///
// Generated code. Do not modify.
// source: result.proto
///
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type
import 'dart:core' as $core show bool, Deprecated, double, int, List, Map, override, pragma, String;
import 'package:fixnum/fixnum.dart';
import 'package:protobuf/protobuf.dart' as $pb;
import 'result.pbenum.dart';
export 'result.pbenum.dart';
class Outputs extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Outputs', package: const $pb.PackageName('pb'))
..pc<Output>(1, 'txos', $pb.PbFieldType.PM,Output.create)
..pc<Output>(2, 'extraTxos', $pb.PbFieldType.PM,Output.create)
..a<$core.int>(3, 'total', $pb.PbFieldType.OU3)
..a<$core.int>(4, 'offset', $pb.PbFieldType.OU3)
..hasRequiredFields = false
;
Outputs._() : super();
factory Outputs() => create();
factory Outputs.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory Outputs.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
Outputs clone() => Outputs()..mergeFromMessage(this);
Outputs copyWith(void Function(Outputs) updates) => super.copyWith((message) => updates(message as Outputs));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static Outputs create() => Outputs._();
Outputs createEmptyInstance() => create();
static $pb.PbList<Outputs> createRepeated() => $pb.PbList<Outputs>();
static Outputs getDefault() => _defaultInstance ??= create()..freeze();
static Outputs _defaultInstance;
$core.List<Output> get txos => $_getList(0);
$core.List<Output> get extraTxos => $_getList(1);
$core.int get total => $_get(2, 0);
set total($core.int v) { $_setUnsignedInt32(2, v); }
$core.bool hasTotal() => $_has(2);
void clearTotal() => clearField(3);
$core.int get offset => $_get(3, 0);
set offset($core.int v) { $_setUnsignedInt32(3, v); }
$core.bool hasOffset() => $_has(3);
void clearOffset() => clearField(4);
}
enum Output_Meta {
claim,
error,
notSet
}
class Output extends $pb.GeneratedMessage {
static const $core.Map<$core.int, Output_Meta> _Output_MetaByTag = {
7 : Output_Meta.claim,
15 : Output_Meta.error,
0 : Output_Meta.notSet
};
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Output', package: const $pb.PackageName('pb'))
..oo(0, [7, 15])
..a<$core.List<$core.int>>(1, 'txHash', $pb.PbFieldType.OY)
..a<$core.int>(2, 'nout', $pb.PbFieldType.OU3)
..a<$core.int>(3, 'height', $pb.PbFieldType.OU3)
..a<ClaimMeta>(7, 'claim', $pb.PbFieldType.OM, ClaimMeta.getDefault, ClaimMeta.create)
..a<Error>(15, 'error', $pb.PbFieldType.OM, Error.getDefault, Error.create)
..hasRequiredFields = false
;
Output._() : super();
factory Output() => create();
factory Output.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory Output.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
Output clone() => Output()..mergeFromMessage(this);
Output copyWith(void Function(Output) updates) => super.copyWith((message) => updates(message as Output));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static Output create() => Output._();
Output createEmptyInstance() => create();
static $pb.PbList<Output> createRepeated() => $pb.PbList<Output>();
static Output getDefault() => _defaultInstance ??= create()..freeze();
static Output _defaultInstance;
Output_Meta whichMeta() => _Output_MetaByTag[$_whichOneof(0)];
void clearMeta() => clearField($_whichOneof(0));
$core.List<$core.int> get txHash => $_getN(0);
set txHash($core.List<$core.int> v) { $_setBytes(0, v); }
$core.bool hasTxHash() => $_has(0);
void clearTxHash() => clearField(1);
$core.int get nout => $_get(1, 0);
set nout($core.int v) { $_setUnsignedInt32(1, v); }
$core.bool hasNout() => $_has(1);
void clearNout() => clearField(2);
$core.int get height => $_get(2, 0);
set height($core.int v) { $_setUnsignedInt32(2, v); }
$core.bool hasHeight() => $_has(2);
void clearHeight() => clearField(3);
ClaimMeta get claim => $_getN(3);
set claim(ClaimMeta v) { setField(7, v); }
$core.bool hasClaim() => $_has(3);
void clearClaim() => clearField(7);
Error get error => $_getN(4);
set error(Error v) { setField(15, v); }
$core.bool hasError() => $_has(4);
void clearError() => clearField(15);
}
class ClaimMeta extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo('ClaimMeta', package: const $pb.PackageName('pb'))
..a<Output>(1, 'channel', $pb.PbFieldType.OM, Output.getDefault, Output.create)
..aOS(2, 'shortUrl')
..aOS(3, 'canonicalUrl')
..aOB(4, 'isControlling')
..a<$core.int>(5, 'takeOverHeight', $pb.PbFieldType.OU3)
..a<$core.int>(6, 'creationHeight', $pb.PbFieldType.OU3)
..a<$core.int>(7, 'activationHeight', $pb.PbFieldType.OU3)
..a<$core.int>(8, 'expirationHeight', $pb.PbFieldType.OU3)
..a<$core.int>(9, 'claimsInChannel', $pb.PbFieldType.OU3)
..a<Int64>(10, 'effectiveAmount', $pb.PbFieldType.OU6, Int64.ZERO)
..a<Int64>(11, 'supportAmount', $pb.PbFieldType.OU6, Int64.ZERO)
..a<$core.int>(12, 'trendingGroup', $pb.PbFieldType.OU3)
..a<$core.double>(13, 'trendingMixed', $pb.PbFieldType.OF)
..a<$core.double>(14, 'trendingLocal', $pb.PbFieldType.OF)
..a<$core.double>(15, 'trendingGlobal', $pb.PbFieldType.OF)
..hasRequiredFields = false
;
ClaimMeta._() : super();
factory ClaimMeta() => create();
factory ClaimMeta.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory ClaimMeta.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
ClaimMeta clone() => ClaimMeta()..mergeFromMessage(this);
ClaimMeta copyWith(void Function(ClaimMeta) updates) => super.copyWith((message) => updates(message as ClaimMeta));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static ClaimMeta create() => ClaimMeta._();
ClaimMeta createEmptyInstance() => create();
static $pb.PbList<ClaimMeta> createRepeated() => $pb.PbList<ClaimMeta>();
static ClaimMeta getDefault() => _defaultInstance ??= create()..freeze();
static ClaimMeta _defaultInstance;
Output get channel => $_getN(0);
set channel(Output v) { setField(1, v); }
$core.bool hasChannel() => $_has(0);
void clearChannel() => clearField(1);
$core.String get shortUrl => $_getS(1, '');
set shortUrl($core.String v) { $_setString(1, v); }
$core.bool hasShortUrl() => $_has(1);
void clearShortUrl() => clearField(2);
$core.String get canonicalUrl => $_getS(2, '');
set canonicalUrl($core.String v) { $_setString(2, v); }
$core.bool hasCanonicalUrl() => $_has(2);
void clearCanonicalUrl() => clearField(3);
$core.bool get isControlling => $_get(3, false);
set isControlling($core.bool v) { $_setBool(3, v); }
$core.bool hasIsControlling() => $_has(3);
void clearIsControlling() => clearField(4);
$core.int get takeOverHeight => $_get(4, 0);
set takeOverHeight($core.int v) { $_setUnsignedInt32(4, v); }
$core.bool hasTakeOverHeight() => $_has(4);
void clearTakeOverHeight() => clearField(5);
$core.int get creationHeight => $_get(5, 0);
set creationHeight($core.int v) { $_setUnsignedInt32(5, v); }
$core.bool hasCreationHeight() => $_has(5);
void clearCreationHeight() => clearField(6);
$core.int get activationHeight => $_get(6, 0);
set activationHeight($core.int v) { $_setUnsignedInt32(6, v); }
$core.bool hasActivationHeight() => $_has(6);
void clearActivationHeight() => clearField(7);
$core.int get expirationHeight => $_get(7, 0);
set expirationHeight($core.int v) { $_setUnsignedInt32(7, v); }
$core.bool hasExpirationHeight() => $_has(7);
void clearExpirationHeight() => clearField(8);
$core.int get claimsInChannel => $_get(8, 0);
set claimsInChannel($core.int v) { $_setUnsignedInt32(8, v); }
$core.bool hasClaimsInChannel() => $_has(8);
void clearClaimsInChannel() => clearField(9);
Int64 get effectiveAmount => $_getI64(9);
set effectiveAmount(Int64 v) { $_setInt64(9, v); }
$core.bool hasEffectiveAmount() => $_has(9);
void clearEffectiveAmount() => clearField(10);
Int64 get supportAmount => $_getI64(10);
set supportAmount(Int64 v) { $_setInt64(10, v); }
$core.bool hasSupportAmount() => $_has(10);
void clearSupportAmount() => clearField(11);
$core.int get trendingGroup => $_get(11, 0);
set trendingGroup($core.int v) { $_setUnsignedInt32(11, v); }
$core.bool hasTrendingGroup() => $_has(11);
void clearTrendingGroup() => clearField(12);
$core.double get trendingMixed => $_getN(12);
set trendingMixed($core.double v) { $_setFloat(12, v); }
$core.bool hasTrendingMixed() => $_has(12);
void clearTrendingMixed() => clearField(13);
$core.double get trendingLocal => $_getN(13);
set trendingLocal($core.double v) { $_setFloat(13, v); }
$core.bool hasTrendingLocal() => $_has(13);
void clearTrendingLocal() => clearField(14);
$core.double get trendingGlobal => $_getN(14);
set trendingGlobal($core.double v) { $_setFloat(14, v); }
$core.bool hasTrendingGlobal() => $_has(14);
void clearTrendingGlobal() => clearField(15);
}
class Error extends $pb.GeneratedMessage {
static final $pb.BuilderInfo _i = $pb.BuilderInfo('Error', package: const $pb.PackageName('pb'))
..e<Error_Code>(1, 'code', $pb.PbFieldType.OE, Error_Code.UNKNOWN_CODE, Error_Code.valueOf, Error_Code.values)
..aOS(2, 'text')
..hasRequiredFields = false
;
Error._() : super();
factory Error() => create();
factory Error.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r);
factory Error.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r);
Error clone() => Error()..mergeFromMessage(this);
Error copyWith(void Function(Error) updates) => super.copyWith((message) => updates(message as Error));
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static Error create() => Error._();
Error createEmptyInstance() => create();
static $pb.PbList<Error> createRepeated() => $pb.PbList<Error>();
static Error getDefault() => _defaultInstance ??= create()..freeze();
static Error _defaultInstance;
Error_Code get code => $_getN(0);
set code(Error_Code v) { setField(1, v); }
$core.bool hasCode() => $_has(0);
void clearCode() => clearField(1);
$core.String get text => $_getS(1, '');
set text($core.String v) { $_setString(1, v); }
$core.bool hasText() => $_has(1);
void clearText() => clearField(2);
}

View file

@ -0,0 +1,27 @@
///
// Generated code. Do not modify.
// source: result.proto
///
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type
// ignore_for_file: UNDEFINED_SHOWN_NAME,UNUSED_SHOWN_NAME
import 'dart:core' as $core show int, dynamic, String, List, Map;
import 'package:protobuf/protobuf.dart' as $pb;
class Error_Code extends $pb.ProtobufEnum {
static const Error_Code UNKNOWN_CODE = Error_Code._(0, 'UNKNOWN_CODE');
static const Error_Code NOT_FOUND = Error_Code._(1, 'NOT_FOUND');
static const Error_Code INVALID = Error_Code._(2, 'INVALID');
static const $core.List<Error_Code> values = <Error_Code> [
UNKNOWN_CODE,
NOT_FOUND,
INVALID,
];
static final $core.Map<$core.int, Error_Code> _byValue = $pb.ProtobufEnum.initByValue(values);
static Error_Code valueOf($core.int value) => _byValue[value];
const Error_Code._($core.int v, $core.String n) : super(v, n);
}

View file

@ -0,0 +1,69 @@
///
// Generated code. Do not modify.
// source: result.proto
///
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type
const Outputs$json = const {
'1': 'Outputs',
'2': const [
const {'1': 'txos', '3': 1, '4': 3, '5': 11, '6': '.pb.Output', '10': 'txos'},
const {'1': 'extra_txos', '3': 2, '4': 3, '5': 11, '6': '.pb.Output', '10': 'extraTxos'},
const {'1': 'total', '3': 3, '4': 1, '5': 13, '10': 'total'},
const {'1': 'offset', '3': 4, '4': 1, '5': 13, '10': 'offset'},
],
};
const Output$json = const {
'1': 'Output',
'2': const [
const {'1': 'tx_hash', '3': 1, '4': 1, '5': 12, '10': 'txHash'},
const {'1': 'nout', '3': 2, '4': 1, '5': 13, '10': 'nout'},
const {'1': 'height', '3': 3, '4': 1, '5': 13, '10': 'height'},
const {'1': 'claim', '3': 7, '4': 1, '5': 11, '6': '.pb.ClaimMeta', '9': 0, '10': 'claim'},
const {'1': 'error', '3': 15, '4': 1, '5': 11, '6': '.pb.Error', '9': 0, '10': 'error'},
],
'8': const [
const {'1': 'meta'},
],
};
const ClaimMeta$json = const {
'1': 'ClaimMeta',
'2': const [
const {'1': 'channel', '3': 1, '4': 1, '5': 11, '6': '.pb.Output', '10': 'channel'},
const {'1': 'short_url', '3': 2, '4': 1, '5': 9, '10': 'shortUrl'},
const {'1': 'canonical_url', '3': 3, '4': 1, '5': 9, '10': 'canonicalUrl'},
const {'1': 'is_controlling', '3': 4, '4': 1, '5': 8, '10': 'isControlling'},
const {'1': 'take_over_height', '3': 5, '4': 1, '5': 13, '10': 'takeOverHeight'},
const {'1': 'creation_height', '3': 6, '4': 1, '5': 13, '10': 'creationHeight'},
const {'1': 'activation_height', '3': 7, '4': 1, '5': 13, '10': 'activationHeight'},
const {'1': 'expiration_height', '3': 8, '4': 1, '5': 13, '10': 'expirationHeight'},
const {'1': 'claims_in_channel', '3': 9, '4': 1, '5': 13, '10': 'claimsInChannel'},
const {'1': 'effective_amount', '3': 10, '4': 1, '5': 4, '10': 'effectiveAmount'},
const {'1': 'support_amount', '3': 11, '4': 1, '5': 4, '10': 'supportAmount'},
const {'1': 'trending_group', '3': 12, '4': 1, '5': 13, '10': 'trendingGroup'},
const {'1': 'trending_mixed', '3': 13, '4': 1, '5': 2, '10': 'trendingMixed'},
const {'1': 'trending_local', '3': 14, '4': 1, '5': 2, '10': 'trendingLocal'},
const {'1': 'trending_global', '3': 15, '4': 1, '5': 2, '10': 'trendingGlobal'},
],
};
const Error$json = const {
'1': 'Error',
'2': const [
const {'1': 'code', '3': 1, '4': 1, '5': 14, '6': '.pb.Error.Code', '10': 'code'},
const {'1': 'text', '3': 2, '4': 1, '5': 9, '10': 'text'},
],
'4': const [Error_Code$json],
};
const Error_Code$json = const {
'1': 'Code',
'2': const [
const {'1': 'UNKNOWN_CODE', '2': 0},
const {'1': 'NOT_FOUND', '2': 1},
const {'1': 'INVALID', '2': 2},
],
};

View file

@ -0,0 +1,8 @@
///
// Generated code. Do not modify.
// source: result.proto
///
// ignore_for_file: camel_case_types,non_constant_identifier_names,library_prefixes,unused_import,unused_shown_name,return_of_invalid_type
export 'result.pb.dart';

View file

@ -0,0 +1,376 @@
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
analyzer:
dependency: transitive
description:
name: analyzer
url: "https://pub.dartlang.org"
source: hosted
version: "0.36.4"
args:
dependency: transitive
description:
name: args
url: "https://pub.dartlang.org"
source: hosted
version: "1.5.2"
async:
dependency: transitive
description:
name: async
url: "https://pub.dartlang.org"
source: hosted
version: "2.2.0"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.5"
charcode:
dependency: transitive
description:
name: charcode
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.2"
collection:
dependency: transitive
description:
name: collection
url: "https://pub.dartlang.org"
source: hosted
version: "1.14.11"
convert:
dependency: transitive
description:
name: convert
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.1"
crypto:
dependency: transitive
description:
name: crypto
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.6"
csslib:
dependency: transitive
description:
name: csslib
url: "https://pub.dartlang.org"
source: hosted
version: "0.16.0"
dart_style:
dependency: transitive
description:
name: dart_style
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.8"
fixnum:
dependency: transitive
description:
name: fixnum
url: "https://pub.dartlang.org"
source: hosted
version: "0.10.9"
front_end:
dependency: transitive
description:
name: front_end
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.19"
glob:
dependency: transitive
description:
name: glob
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.7"
html:
dependency: transitive
description:
name: html
url: "https://pub.dartlang.org"
source: hosted
version: "0.14.0+2"
http:
dependency: "direct main"
description:
name: http
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.0+2"
http_multi_server:
dependency: transitive
description:
name: http_multi_server
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
http_parser:
dependency: transitive
description:
name: http_parser
url: "https://pub.dartlang.org"
source: hosted
version: "3.1.3"
io:
dependency: transitive
description:
name: io
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.3"
js:
dependency: transitive
description:
name: js
url: "https://pub.dartlang.org"
source: hosted
version: "0.6.1+1"
json_rpc_2:
dependency: transitive
description:
name: json_rpc_2
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.0"
kernel:
dependency: transitive
description:
name: kernel
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.19"
matcher:
dependency: transitive
description:
name: matcher
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.5"
meta:
dependency: transitive
description:
name: meta
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.7"
mime:
dependency: transitive
description:
name: mime
url: "https://pub.dartlang.org"
source: hosted
version: "0.9.6+3"
multi_server_socket:
dependency: transitive
description:
name: multi_server_socket
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.2"
node_preamble:
dependency: transitive
description:
name: node_preamble
url: "https://pub.dartlang.org"
source: hosted
version: "1.4.4"
package_config:
dependency: transitive
description:
name: package_config
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.5"
package_resolver:
dependency: transitive
description:
name: package_resolver
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.10"
path:
dependency: "direct main"
description:
name: path
url: "https://pub.dartlang.org"
source: hosted
version: "1.6.2"
pedantic:
dependency: "direct dev"
description:
name: pedantic
url: "https://pub.dartlang.org"
source: hosted
version: "1.7.0"
pool:
dependency: transitive
description:
name: pool
url: "https://pub.dartlang.org"
source: hosted
version: "1.4.0"
protobuf:
dependency: "direct main"
description:
name: protobuf
url: "https://pub.dartlang.org"
source: hosted
version: "0.13.12"
protoc_plugin:
dependency: "direct dev"
description:
name: protoc_plugin
url: "https://pub.dartlang.org"
source: hosted
version: "17.0.2"
pub_semver:
dependency: transitive
description:
name: pub_semver
url: "https://pub.dartlang.org"
source: hosted
version: "1.4.2"
shelf:
dependency: transitive
description:
name: shelf
url: "https://pub.dartlang.org"
source: hosted
version: "0.7.5"
shelf_packages_handler:
dependency: transitive
description:
name: shelf_packages_handler
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.4"
shelf_static:
dependency: transitive
description:
name: shelf_static
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.8"
shelf_web_socket:
dependency: transitive
description:
name: shelf_web_socket
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.3"
source_map_stack_trace:
dependency: transitive
description:
name: source_map_stack_trace
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.5"
source_maps:
dependency: transitive
description:
name: source_maps
url: "https://pub.dartlang.org"
source: hosted
version: "0.10.8"
source_span:
dependency: transitive
description:
name: source_span
url: "https://pub.dartlang.org"
source: hosted
version: "1.5.5"
stack_trace:
dependency: transitive
description:
name: stack_trace
url: "https://pub.dartlang.org"
source: hosted
version: "1.9.3"
stream_channel:
dependency: transitive
description:
name: stream_channel
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
string_scanner:
dependency: transitive
description:
name: string_scanner
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.4"
term_glyph:
dependency: transitive
description:
name: term_glyph
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
test:
dependency: "direct dev"
description:
name: test
url: "https://pub.dartlang.org"
source: hosted
version: "1.6.4"
test_api:
dependency: transitive
description:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.6"
test_core:
dependency: transitive
description:
name: test_core
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.6"
typed_data:
dependency: transitive
description:
name: typed_data
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.6"
vm_service_client:
dependency: transitive
description:
name: vm_service_client
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.6+2"
watcher:
dependency: transitive
description:
name: watcher
url: "https://pub.dartlang.org"
source: hosted
version: "0.9.7+10"
web_socket_channel:
dependency: transitive
description:
name: web_socket_channel
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.13"
yaml:
dependency: transitive
description:
name: yaml
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.16"
sdks:
dart: ">=2.3.0 <3.0.0"

View file

@ -0,0 +1,18 @@
name: lbry
description: LBRY SDK in Dart.
version: 0.0.1
homepage: https://lbry.com
author: LBRY Inc. <hello@lbry.com>
environment:
sdk: '>=2.2.0 <3.0.0'
dependencies:
http: ^0.12.0+2
path: ^1.4.1
protobuf: ^0.13.12
dev_dependencies:
pedantic: ^1.0.0
test: ^1.0.0
protoc_plugin: ^17.0.2

View file

@ -0,0 +1,8 @@
import 'package:lbry/lbry.dart';
import 'package:test/test.dart';
void main() {
test('calculate', () {
expect(calculate(), 42);
});
}