decode method

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

Implementation

@override
StorageEntryType decode(Input input) {
  final index = input.read();

  switch (index) {
    case 0: // Plain
      final valueType = CompactCodec.codec.decode(input);
      return StorageEntryTypePlain(valueType: valueType);

    case 1: // Map
      // Decode each hasher
      final hashers = SequenceCodec(StorageHasherEnum.codec).decode(input);

      // Decode key type ID
      final keyType = CompactCodec.codec.decode(input);

      // Decode value type ID
      final valueType = CompactCodec.codec.decode(input);

      return StorageEntryTypeMap(hashers: hashers, keyType: keyType, valueType: valueType);

    default:
      throw Exception('Unknown StorageEntryType index: $index');
  }
}