decode method

  1. @override
RuntimeMetadataPrefixed decode(
  1. Input input
)
override

Implementation

@override
RuntimeMetadataPrefixed decode(Input input) {
  // Decode magic number
  final magicNumber = U32Codec.codec.decode(input);

  // Decode version
  final version = U8Codec.codec.decode(input);
  switch (version) {
    case 14:
      return RuntimeMetadataPrefixed(
        magicNumber: magicNumber,
        metadata: RuntimeMetadataV14.codec.decode(input),
      );

    case 15:
      return RuntimeMetadataPrefixed(
        magicNumber: magicNumber,
        metadata: RuntimeMetadataV15.codec.decode(input),
      );

    default:
      throw Exception('Unsupported metadata version: $version');
  }
}