parseFeatures function
Implementation
TrezorFeatures parseFeatures(Uint8List bytes) {
final reader = ProtoReader(bytes);
String? label, model;
int? fwMajor, fwMinor, fwPatch;
bool? initialized;
while (reader.hasMore) {
final (fieldNum, wireType) = reader.readTag();
switch (fieldNum) {
case 2:
fwMajor = reader.readRawVarint();
case 3:
fwMinor = reader.readRawVarint();
case 4:
fwPatch = reader.readRawVarint();
case 10:
label = reader.readString();
case 12:
initialized = reader.readRawVarint() != 0;
case 21:
model = reader.readString();
default:
reader.skip(wireType);
}
}
return TrezorFeatures(
label: label,
model: model,
firmwareVersion:
'${fwMajor ?? 0}.${fwMinor ?? 0}.${fwPatch ?? 0}',
initialized: initialized,
);
}