parseFeatures function

TrezorFeatures parseFeatures(
  1. Uint8List bytes
)

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,
  );
}